[Layers] Update the layers model

- Removed outdated or unused types and layers definition
- Update the genmodel parameters to avoid EMF types
- Extract @generated NOT whenever possible from the generated code
- Regenerate the code
- Remove CustomPropertyOperator, CustomPropertyOperatorDescriptor and DefaultPropertyOperator
- Remove CustomLayerOperator
- Remove AbstractLayerOperator and redirect to LayerOperator
- Improve serialization and save strategy
- Removed additional generated NOT tags

Change-Id: I10ee3781382f60b2c371ff45b977dad0e66b8fda
Signed-off-by: Quentin Le Menez <quentin.lemenez@cea.fr>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/.classpath b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/.classpath
index ad32c83..eca7bdb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/.classpath
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/.settings/org.eclipse.jdt.core.prefs b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/.settings/org.eclipse.jdt.core.prefs
index 94d61f0..b3aa6d6 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/.settings/org.eclipse.jdt.core.prefs
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
 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.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.6
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/META-INF/MANIFEST.MF b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/META-INF/MANIFEST.MF
index 848e084..4b1719d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/META-INF/MANIFEST.MF
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/META-INF/MANIFEST.MF
@@ -1,22 +1,23 @@
 Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.emf.diagram.common;bundle-version="1.2.0",
- org.eclipse.emf.ecore;bundle-version="2.9.0",
- org.eclipse.gmf.runtime.notation;bundle-version="1.5.0",
- org.eclipse.papyrus.infra.gmfdiag.layers.model.editor;bundle-version="0.7.0",
- org.eclipse.emf.transaction;bundle-version="1.4.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.core.expressions,
- org.eclipse.gmf.runtime.diagram.ui.resources.editor,
- org.eclipse.papyrus.infra.gmfdiag.layers.runtime;bundle-version="0.7.0",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.7.0",
- org.eclipse.ui.ide;bundle-version="3.10.0",
- org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core.sasheditor;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.gmfdiag.layers.model;bundle-version="0.7.0"
+Require-Bundle: org.eclipse.ui;bundle-version="[3.110.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.15.0,4.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.emf.diagram.common;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.15.0,3.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.model.editor;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.emf.transaction;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.runtime;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.14.0,4.0.0)",
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.core.sasheditor;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.model;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.15.0,3.0.0)"
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
 Bundle-Version: 0.7.0.qualifier
@@ -25,4 +26,5 @@
 Bundle-ManifestVersion: 2
 Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.layers.diagram.Activator
 Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.layers.diagram;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.papyrus.infra.gmfdiag.layers.diagram
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/Activator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/Activator.java
similarity index 96%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/Activator.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/Activator.java
index e35fa61..90b8872 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/Activator.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/Activator.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
  ******************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.diagram;
+package org.eclipse.papyrus.infra.gmfdiag.layers.diagram;
 
 import org.eclipse.papyrus.infra.core.log.LogHelper;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/CreateLayersTreeDiagramHandler.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/CreateLayersTreeDiagramHandler.java
similarity index 94%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/CreateLayersTreeDiagramHandler.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/CreateLayersTreeDiagramHandler.java
index 345616e..e10cc7b 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/CreateLayersTreeDiagramHandler.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/CreateLayersTreeDiagramHandler.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
  ******************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.diagram;
+package org.eclipse.papyrus.infra.gmfdiag.layers.diagram;
 
 import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
 import org.eclipse.papyrus.infra.emf.diagram.common.handler.CreateDiagramHandler;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/DynamicContextMenu.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/DynamicContextMenu.java
similarity index 99%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/DynamicContextMenu.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/DynamicContextMenu.java
index 6e44f15..9146272 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/DynamicContextMenu.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/DynamicContextMenu.java
@@ -10,7 +10,7 @@
  ******************************************************************************/
 /**
  */
-package org.eclipse.papyrus.infra.gmfdiag.diagram;
+package org.eclipse.papyrus.infra.gmfdiag.layers.diagram;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/LayersDiagramActionBarContributor.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/LayersDiagramActionBarContributor.java
similarity index 99%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/LayersDiagramActionBarContributor.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/LayersDiagramActionBarContributor.java
index fa05d91..c06f519 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/LayersDiagramActionBarContributor.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/LayersDiagramActionBarContributor.java
@@ -10,7 +10,7 @@
  ******************************************************************************/
 /**
  */
-package org.eclipse.papyrus.infra.gmfdiag.diagram;
+package org.eclipse.papyrus.infra.gmfdiag.layers.diagram;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/LayersTreeDiagramEditorFactory.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/LayersTreeDiagramEditorFactory.java
similarity index 98%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/LayersTreeDiagramEditorFactory.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/LayersTreeDiagramEditorFactory.java
index a765ba2..cc9c243 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/LayersTreeDiagramEditorFactory.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/LayersTreeDiagramEditorFactory.java
@@ -10,7 +10,7 @@
  *     Christian W. Damus (CEA) - bug 392301
  *
  ******************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.diagram;
+package org.eclipse.papyrus.infra.gmfdiag.layers.diagram;
 
 import org.eclipse.gmf.runtime.notation.Diagram;
 import org.eclipse.jface.resource.ImageDescriptor;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/LayersTreeEditorDiagram.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/LayersTreeEditorDiagram.java
similarity index 95%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/LayersTreeEditorDiagram.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/LayersTreeEditorDiagram.java
index e3f33f2..35f9574 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/LayersTreeEditorDiagram.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/LayersTreeEditorDiagram.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
  ******************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.diagram;
+package org.eclipse.papyrus.infra.gmfdiag.layers.diagram;
 
 import java.util.EventObject;
 import java.util.Iterator;
@@ -30,7 +30,7 @@
 import org.eclipse.papyrus.infra.core.editor.BackboneException;
 import org.eclipse.papyrus.infra.core.services.ServiceException;
 import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.LayersEditor;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.custom.CustomLayersEditor;
 import org.eclipse.ui.IActionBars;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
@@ -40,11 +40,9 @@
 import org.eclipse.ui.views.properties.PropertySheetPage;
 
 /**
- * This is an example of a EMF UML model editor. <!-- begin-user-doc --> <!-- end-user-doc -->
  *
- * @generated
  */
-public class LayersTreeEditorDiagram extends LayersEditor implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+public class LayersTreeEditorDiagram extends CustomLayersEditor implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
 
 	/**
 	 * ServiceRegistry used to retrieve needed services. This registry is provided by the multieditor.
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/ui/handlers/AbstractLayerCommand.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/ui/handlers/AbstractLayerCommand.java
similarity index 98%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/ui/handlers/AbstractLayerCommand.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/ui/handlers/AbstractLayerCommand.java
index e1e7a01..76649b7 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/ui/handlers/AbstractLayerCommand.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/ui/handlers/AbstractLayerCommand.java
@@ -11,7 +11,7 @@
  *     Christian W. Damus - bug 485220
  *     
  ******************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.diagram.ui.handlers;
+package org.eclipse.papyrus.infra.gmfdiag.layers.diagram.ui.handlers;
 
 
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/ui/handlers/DynamicCreateChildMenu.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/ui/handlers/DynamicCreateChildMenu.java
similarity index 95%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/ui/handlers/DynamicCreateChildMenu.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/ui/handlers/DynamicCreateChildMenu.java
index 438840e..10c4920 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/ui/handlers/DynamicCreateChildMenu.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/ui/handlers/DynamicCreateChildMenu.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
  ******************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.diagram.ui.handlers;
+package org.eclipse.papyrus.infra.gmfdiag.layers.diagram.ui.handlers;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/ui/handlers/ShowCreateChildCommand.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/ui/handlers/ShowCreateChildCommand.java
similarity index 95%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/ui/handlers/ShowCreateChildCommand.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/ui/handlers/ShowCreateChildCommand.java
index 51b4879..8a80d11 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/diagram/ui/handlers/ShowCreateChildCommand.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.diagram/src/org/eclipse/papyrus/infra/gmfdiag/layers/diagram/ui/handlers/ShowCreateChildCommand.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
  ******************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.diagram.ui.handlers;
+package org.eclipse.papyrus.infra.gmfdiag.layers.diagram.ui.handlers;
 
 import org.eclipse.core.commands.IHandler;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.NotationDiagramHelper;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/.classpath b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/.classpath
index c1f3189..c68522b 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/.classpath
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/.classpath
@@ -3,5 +3,6 @@
 	<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="src" path="src-gen"/>
+	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/META-INF/MANIFEST.MF b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/META-INF/MANIFEST.MF
index cbb24be..d08ce36 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/META-INF/MANIFEST.MF
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Export-Package: org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.provider,
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider,
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom
-Require-Bundle: org.eclipse.core.runtime;resolution:=optional;x-installation:=greedy,
- org.eclipse.papyrus.infra.gmfdiag.layers.model;visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.layers.model;visibility:=reexport,
- org.eclipse.emf.edit;visibility:=reexport,
- org.eclipse.emf.ecore;visibility:=reexport,
- org.eclipse.emf.ecore.edit;visibility:=reexport,
- org.eclipse.gmf.runtime.notation;visibility:=reexport,
- org.eclipse.gmf.runtime.notation.edit;visibility:=reexport,
- org.eclipse.uml2.common.edit;visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.css.model;visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.css.model.edit;visibility:=reexport
+Require-Bundle: org.eclipse.core.runtime;resolution:=optional;x-installation:=greedy;bundle-version="[3.15.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.model;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.model;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.14.0,3.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.15.0,3.0.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.11.0,3.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.uml2.common.edit;bundle-version="[2.4.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css.model;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css.model.edit;bundle-version="[1.3.0,2.0.0)"
 Import-Package: org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers,
- org.osgi.framework
+ org.osgi.framework;version="[1.9.0,2.0.0)"
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
 Bundle-ClassPath: .
@@ -24,4 +24,5 @@
 Bundle-ManifestVersion: 2
 Bundle-Activator: org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersEditPlugin$Implementation$Activator
 Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.layers.model.edit;singleton:=true
+Automatic-Module-Name: org.eclipse.papyrus.infra.gmfdiag.layers.model.edit
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/build.properties b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/build.properties
index 8bea233..37bdf19 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/build.properties
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/build.properties
@@ -7,6 +7,7 @@
                plugin.properties,\
                about.html
 jars.compile.order = .
-source.. = src-gen/
+source.. = src-gen/,\
+           src
 output.. = bin/
 src.includes = about.html
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateAbstractLayer_propertyValueMap_StringToTypeInstanceMap.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateAbstractLayer_propertyValueMap_StringToTypeInstanceMap.gif
deleted file mode 100755
index 46a3c0c..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateAbstractLayer_propertyValueMap_StringToTypeInstanceMap.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSHideInstance_stylesheet_EmbeddedStyleSheet.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSHideInstance_stylesheet_EmbeddedStyleSheet.gif
deleted file mode 100755
index d8aebba..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSHideInstance_stylesheet_EmbeddedStyleSheet.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSHideInstance_stylesheet_StyleSheetReference.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSHideInstance_stylesheet_StyleSheetReference.gif
deleted file mode 100755
index 160cd18..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSHideInstance_stylesheet_StyleSheetReference.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSInstance_styleSheet_EmbeddedStyleSheet.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSInstance_styleSheet_EmbeddedStyleSheet.gif
deleted file mode 100755
index cfd10c2..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSInstance_styleSheet_EmbeddedStyleSheet.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSInstance_styleSheet_StyleSheetReference.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSInstance_styleSheet_StyleSheetReference.gif
deleted file mode 100755
index 737366a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateCSSInstance_styleSheet_StyleSheetReference.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFillInstance_fillColor_ColorInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFillInstance_fillColor_ColorInstance.gif
deleted file mode 100755
index 7b652ac..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFillInstance_fillColor_ColorInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_BooleanType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_BooleanType.gif
deleted file mode 100755
index 517abc7..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_BooleanType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_CSSHideType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_CSSHideType.gif
deleted file mode 100755
index a4565df..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_CSSHideType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_CSSType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_CSSType.gif
deleted file mode 100755
index b68de5e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_CSSType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Color.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Color.gif
deleted file mode 100755
index 40ef685..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Color.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_CustomType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_CustomType.gif
deleted file mode 100755
index d56a04b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_CustomType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Fill.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Fill.gif
deleted file mode 100755
index 1ebcee0..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Fill.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Folder.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Folder.gif
deleted file mode 100755
index 40ef685..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Folder.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_FontType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_FontType.gif
deleted file mode 100755
index 5a308e5..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_FontType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_IntType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_IntType.gif
deleted file mode 100755
index ad157ff..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_IntType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_LayersStackApplication.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_LayersStackApplication.gif
deleted file mode 100755
index bf50c76..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_LayersStackApplication.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_LineType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_LineType.gif
deleted file mode 100755
index ad157ff..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_LineType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Metamodel.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Metamodel.gif
deleted file mode 100755
index 3408e14..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Metamodel.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Property.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Property.gif
deleted file mode 100755
index 2c857d7..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_Property.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_StringType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_StringType.gif
deleted file mode 100755
index 28525df..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_elements_StringType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_Folder.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_Folder.gif
deleted file mode 100755
index 40ef685..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_Folder.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_FolderElement.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_FolderElement.gif
deleted file mode 100755
index aced3dd..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_FolderElement.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_InstanciableElement.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_InstanciableElement.gif
deleted file mode 100755
index 997e434..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_InstanciableElement.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_LayerOperatorConfig.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_LayerOperatorConfig.gif
deleted file mode 100755
index d56a04b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_LayerOperatorConfig.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_LayerOperatorMultipleBinding.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_LayerOperatorMultipleBinding.gif
deleted file mode 100755
index aced3dd..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_LayerOperatorMultipleBinding.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_LayerOperatorToOperatorBinding.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_LayerOperatorToOperatorBinding.gif
deleted file mode 100755
index 9a73c8d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_LayerOperatorToOperatorBinding.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_OperatorConfig.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_OperatorConfig.gif
deleted file mode 100755
index 8a4acfb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_OperatorConfig.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_PropertyId.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_PropertyId.gif
deleted file mode 100755
index 159895b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_PropertyId.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_TypeConfig.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_TypeConfig.gif
deleted file mode 100755
index 5fc9320..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateFolder_folderElements_TypeConfig.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerDescriptorRegistry_layerDescriptors_LayerDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerDescriptorRegistry_layerDescriptors_LayerDescriptor.gif
deleted file mode 100755
index 261e1fa..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerDescriptorRegistry_layerDescriptors_LayerDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerDescriptorRegistry_layerDescriptors_RegExpLayerDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerDescriptorRegistry_layerDescriptors_RegExpLayerDescriptor.gif
deleted file mode 100755
index 9a4c243..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerDescriptorRegistry_layerDescriptors_RegExpLayerDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerDescriptorRegistry_layerDescriptors_SimpleLayerDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerDescriptorRegistry_layerDescriptors_SimpleLayerDescriptor.gif
deleted file mode 100755
index b7be165..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerDescriptorRegistry_layerDescriptors_SimpleLayerDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerNamedStyle_layersStack_LayersStack.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerNamedStyle_layersStack_LayersStack.gif
deleted file mode 100755
index bb83437..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerNamedStyle_layersStack_LayersStack.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_AndStackedLayerOperatorDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_AndStackedLayerOperatorDescriptor.gif
deleted file mode 100755
index 4a574b1..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_AndStackedLayerOperatorDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_LayerOperatorDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_LayerOperatorDescriptor.gif
deleted file mode 100755
index 1dbde94..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_LayerOperatorDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_OrStackedLayerOperatorDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_OrStackedLayerOperatorDescriptor.gif
deleted file mode 100755
index 6544d14..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_OrStackedLayerOperatorDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_StackedLayerOperatorDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_StackedLayerOperatorDescriptor.gif
deleted file mode 100755
index 09741e8..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_StackedLayerOperatorDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_TopLayerOperatorDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_TopLayerOperatorDescriptor.gif
deleted file mode 100755
index 700bd5e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_descriptors_TopLayerOperatorDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_propertyOperators_CustomPropertyOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_propertyOperators_CustomPropertyOperator.gif
deleted file mode 100755
index da050a4..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_propertyOperators_CustomPropertyOperator.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_propertyOperators_DefaultPropertyOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_propertyOperators_DefaultPropertyOperator.gif
deleted file mode 100755
index 8d289e3..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_propertyOperators_DefaultPropertyOperator.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_propertyOperators_PropertyOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_propertyOperators_PropertyOperator.gif
deleted file mode 100755
index dcbeb3e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorDescriptorRegistry_propertyOperators_PropertyOperator.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorMultipleBinding_bindings_OperatorBinding.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorMultipleBinding_bindings_OperatorBinding.gif
deleted file mode 100755
index 0cd2b13..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorMultipleBinding_bindings_OperatorBinding.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorMultipleBinding_bindings_SimpleBinding.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorMultipleBinding_bindings_SimpleBinding.gif
deleted file mode 100755
index a188f9e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperatorMultipleBinding_bindings_SimpleBinding.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_AllViewsDerivedLayer.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_AllViewsDerivedLayer.gif
deleted file mode 100755
index b2b20e5..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_AllViewsDerivedLayer.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_CustomLayerOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_CustomLayerOperator.gif
deleted file mode 100755
index d44bc94..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_CustomLayerOperator.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_Layer.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_Layer.gif
deleted file mode 100755
index 5bfbb66..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_Layer.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_RegExpLayer.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_RegExpLayer.gif
deleted file mode 100755
index c2b071b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_RegExpLayer.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_StackedLayerOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_StackedLayerOperator.gif
deleted file mode 100755
index d799c18..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_StackedLayerOperator.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_TopLayerOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_TopLayerOperator.gif
deleted file mode 100755
index 46106a3..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayerOperator_layers_TopLayerOperator.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValueMap_StringToTypeInstanceMap.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValueMap_StringToTypeInstanceMap.gif
deleted file mode 100755
index 2bed2e1..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValueMap_StringToTypeInstanceMap.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValues_BooleanInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValues_BooleanInstance.gif
deleted file mode 100755
index 3eb3c30..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValues_BooleanInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValues_IntInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValues_IntInstance.gif
deleted file mode 100755
index 01f8ed6..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValues_IntInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValues_StringInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValues_StringInstance.gif
deleted file mode 100755
index 6a0e6fc..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayer_propertyValues_StringInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_factory_LayerApplicationFactory.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_factory_LayerApplicationFactory.gif
deleted file mode 100755
index 85a51d1..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_factory_LayerApplicationFactory.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layerDescriptorRegistry_LayerDescriptorRegistry.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layerDescriptorRegistry_LayerDescriptorRegistry.gif
deleted file mode 100755
index 978ee2b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layerDescriptorRegistry_LayerDescriptorRegistry.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layerOperatorDescriptorRegistry_LayerOperatorDescriptorRegistry.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layerOperatorDescriptorRegistry_LayerOperatorDescriptorRegistry.gif
deleted file mode 100755
index d8aebba..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layerOperatorDescriptorRegistry_LayerOperatorDescriptorRegistry.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layerStackRegistry_LayerStackDescriptorRegistry.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layerStackRegistry_LayerStackDescriptorRegistry.gif
deleted file mode 100755
index 375192a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layerStackRegistry_LayerStackDescriptorRegistry.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layersStacks_LayersStack.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layersStacks_LayersStack.gif
deleted file mode 100755
index 64e6523..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_layersStacks_LayersStack.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_propertyRegistry_PropertyRegistry.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_propertyRegistry_PropertyRegistry.gif
deleted file mode 100755
index 85a51d1..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_propertyRegistry_PropertyRegistry.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_propertySetterRegistry_PropertySetterRegistry.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_propertySetterRegistry_PropertySetterRegistry.gif
deleted file mode 100755
index ed30ca5..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStackApplication_propertySetterRegistry_PropertySetterRegistry.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_AllViewsDerivedLayer.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_AllViewsDerivedLayer.gif
deleted file mode 100755
index 28ed761..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_AllViewsDerivedLayer.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_CustomLayerOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_CustomLayerOperator.gif
deleted file mode 100755
index 845e9f4..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_CustomLayerOperator.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_Layer.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_Layer.gif
deleted file mode 100755
index dac0ebb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_Layer.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_RegExpLayer.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_RegExpLayer.gif
deleted file mode 100755
index 424142e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_RegExpLayer.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_StackedLayerOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_StackedLayerOperator.gif
deleted file mode 100755
index 252ab40..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_StackedLayerOperator.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_TopLayerOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_TopLayerOperator.gif
deleted file mode 100755
index cd537c8..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateLayersStack_layers_TopLayerOperator.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateModelStyleSheets_stylesheets_EmbeddedStyleSheet.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateModelStyleSheets_stylesheets_EmbeddedStyleSheet.gif
deleted file mode 100755
index 381214b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateModelStyleSheets_stylesheets_EmbeddedStyleSheet.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateModelStyleSheets_stylesheets_StyleSheetReference.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateModelStyleSheets_stylesheets_StyleSheetReference.gif
deleted file mode 100755
index 8b42bd7..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateModelStyleSheets_stylesheets_StyleSheetReference.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertyRegistry_properties_Property.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertyRegistry_properties_Property.gif
deleted file mode 100755
index 9679858..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertyRegistry_properties_Property.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertyRegistry_typeRegistry_TypeRegistry.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertyRegistry_typeRegistry_TypeRegistry.gif
deleted file mode 100755
index 033a89e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertyRegistry_typeRegistry_TypeRegistry.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_CSSPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_CSSPropertySetter.gif
deleted file mode 100755
index 98a66f1..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_CSSPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_FillPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_FillPropertySetter.gif
deleted file mode 100755
index f8fc1d5..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_FillPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_FontPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_FontPropertySetter.gif
deleted file mode 100755
index 7e48702..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_FontPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_IsValidPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_IsValidPropertySetter.gif
deleted file mode 100755
index 05c17b3..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_IsValidPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_IsVisiblePropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_IsVisiblePropertySetter.gif
deleted file mode 100755
index 53a716e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_IsVisiblePropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_LinePropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_LinePropertySetter.gif
deleted file mode 100755
index 38bb022..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_LinePropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_NullPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_NullPropertySetter.gif
deleted file mode 100755
index a7d0fbc..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_NullPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_PropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_PropertySetter.gif
deleted file mode 100755
index 05eb255..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_PropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_isAbstractUmlSetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_isAbstractUmlSetter.gif
deleted file mode 100755
index 53a716e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_propertySetters_isAbstractUmlSetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_setterMap_StringToPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_setterMap_StringToPropertySetter.gif
deleted file mode 100755
index 4d10d57..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreatePropertySetterRegistry_setterMap_StringToPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_BooleanInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_BooleanInstance.gif
deleted file mode 100755
index 889a6dd..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_BooleanInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_CSSHideInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_CSSHideInstance.gif
deleted file mode 100755
index 4a2fd2e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_CSSHideInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_CSSInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_CSSInstance.gif
deleted file mode 100755
index 542f33a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_CSSInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_ColorInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_ColorInstance.gif
deleted file mode 100755
index b021070..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_ColorInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_FillInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_FillInstance.gif
deleted file mode 100755
index 3be3f93..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_FillInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_FontInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_FontInstance.gif
deleted file mode 100755
index 7faa8da..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_FontInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_IntInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_IntInstance.gif
deleted file mode 100755
index d9a8b0c..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_IntInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_LineInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_LineInstance.gif
deleted file mode 100755
index d9a8b0c..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_LineInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_NullInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_NullInstance.gif
deleted file mode 100755
index cece060..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_NullInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_StringInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_StringInstance.gif
deleted file mode 100755
index b3062f7..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateProperty_defaultValue_StringInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertyIndexMap_value_PropertyIndex.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertyIndexMap_value_PropertyIndex.gif
deleted file mode 100755
index 34611db..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertyIndexMap_value_PropertyIndex.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_CSSHidePropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_CSSHidePropertySetter.gif
deleted file mode 100755
index a1607f9..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_CSSHidePropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_CSSPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_CSSPropertySetter.gif
deleted file mode 100755
index 6875c5d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_CSSPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_FillPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_FillPropertySetter.gif
deleted file mode 100755
index 9d0e539..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_FillPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_FontPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_FontPropertySetter.gif
deleted file mode 100755
index 12ec17b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_FontPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_IsValidPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_IsValidPropertySetter.gif
deleted file mode 100755
index 051fac7..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_IsValidPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_IsVisiblePropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_IsVisiblePropertySetter.gif
deleted file mode 100755
index f5718d5..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_IsVisiblePropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_LinePropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_LinePropertySetter.gif
deleted file mode 100755
index f7e8a7b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_LinePropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_NullPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_NullPropertySetter.gif
deleted file mode 100755
index 3d5c10a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_NullPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_PropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_PropertySetter.gif
deleted file mode 100755
index 396a4d7..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_PropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_isAbstractUmlSetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_isAbstractUmlSetter.gif
deleted file mode 100755
index f5718d5..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToPropertySetter_value_isAbstractUmlSetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_BooleanInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_BooleanInstance.gif
deleted file mode 100755
index 01247e3..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_BooleanInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_CSSHideInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_CSSHideInstance.gif
deleted file mode 100755
index 968b6be..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_CSSHideInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_CSSInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_CSSInstance.gif
deleted file mode 100755
index 0e5fb45..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_CSSInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_ColorInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_ColorInstance.gif
deleted file mode 100755
index 578475a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_ColorInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_FillInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_FillInstance.gif
deleted file mode 100755
index 21f8952..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_FillInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_FontInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_FontInstance.gif
deleted file mode 100755
index fb71f8b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_FontInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_IntInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_IntInstance.gif
deleted file mode 100755
index e891a2b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_IntInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_LineInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_LineInstance.gif
deleted file mode 100755
index e891a2b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_LineInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_NullInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_NullInstance.gif
deleted file mode 100755
index b5e551d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_NullInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_StringInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_StringInstance.gif
deleted file mode 100755
index dbbf504..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeInstanceMap_value_StringInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_BooleanType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_BooleanType.gif
deleted file mode 100755
index d203b1d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_BooleanType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_CSSHideType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_CSSHideType.gif
deleted file mode 100755
index c05a418..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_CSSHideType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_CSSType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_CSSType.gif
deleted file mode 100755
index cca8aec..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_CSSType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_Color.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_Color.gif
deleted file mode 100755
index 81984fd..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_Color.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_CustomType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_CustomType.gif
deleted file mode 100755
index 983575c..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_CustomType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_Fill.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_Fill.gif
deleted file mode 100755
index b25c629..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_Fill.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_FontType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_FontType.gif
deleted file mode 100755
index eef1935..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_FontType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_IntType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_IntType.gif
deleted file mode 100755
index 9dd025a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_IntType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_LineType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_LineType.gif
deleted file mode 100755
index 9dd025a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_LineType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_StringType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_StringType.gif
deleted file mode 100755
index 385b365..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateStringToTypeMap_value_StringType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateTheme_stylesheets_EmbeddedStyleSheet.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateTheme_stylesheets_EmbeddedStyleSheet.gif
deleted file mode 100755
index d441dad..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateTheme_stylesheets_EmbeddedStyleSheet.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateTheme_stylesheets_StyleSheetReference.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateTheme_stylesheets_StyleSheetReference.gif
deleted file mode 100755
index 4712543..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateTheme_stylesheets_StyleSheetReference.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateTypeRegistry_types_StringToTypeMap.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateTypeRegistry_types_StringToTypeMap.gif
deleted file mode 100755
index d9e27ce..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateTypeRegistry_types_StringToTypeMap.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateWorkspaceThemes_themes_Theme.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateWorkspaceThemes_themes_Theme.gif
deleted file mode 100755
index becf3c9..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/ctool16/CreateWorkspaceThemes_themes_Theme.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/AbstractLayerOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/AbstractLayerOperator.gif
deleted file mode 100755
index a26660e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/AbstractLayerOperator.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/AllViewsDerivedLayer.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/AllViewsDerivedLayer.gif
index 5274202..ed87474 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/AllViewsDerivedLayer.gif
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/AllViewsDerivedLayer.gif
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/AndStackedLayerOperatorDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/AndStackedLayerOperatorDescriptor.gif
deleted file mode 100755
index ea58a65..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/AndStackedLayerOperatorDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/BooleanInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/BooleanInstance.gif
deleted file mode 100755
index f412370..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/BooleanInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/BooleanType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/BooleanType.gif
deleted file mode 100755
index a17dc7d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/BooleanType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Color.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Color.gif
deleted file mode 100755
index b1f8afa..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Color.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/ColorInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/ColorInstance.gif
deleted file mode 100755
index f412370..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/ColorInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/CustomType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/CustomType.gif
deleted file mode 100755
index 83afb9b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/CustomType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/EmbeddedStyleSheet.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/EmbeddedStyleSheet.gif
deleted file mode 100755
index 98b351f..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/EmbeddedStyleSheet.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Fill.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Fill.gif
deleted file mode 100755
index 8a5c70c..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Fill.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FillInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FillInstance.gif
deleted file mode 100755
index f412370..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FillInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FillPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FillPropertySetter.gif
deleted file mode 100755
index 5a9bc75..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FillPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FolderElement.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FolderElement.gif
deleted file mode 100755
index cb1755a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FolderElement.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FontInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FontInstance.gif
deleted file mode 100755
index f412370..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FontInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FontPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FontPropertySetter.gif
deleted file mode 100755
index 7b7c428..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FontPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FontType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FontType.gif
deleted file mode 100755
index e4bc22d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/FontType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/InstanciableElement.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/InstanciableElement.gif
deleted file mode 100755
index 4365960..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/InstanciableElement.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IntInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IntInstance.gif
deleted file mode 100755
index f412370..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IntInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IntType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IntType.gif
deleted file mode 100755
index d3dc5a9..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IntType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IsValidPropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IsValidPropertySetter.gif
deleted file mode 100755
index cb1755a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IsValidPropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IsVisiblePropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IsVisiblePropertySetter.gif
deleted file mode 100755
index c3370c7..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/IsVisiblePropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Layer.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Layer.gif
index 9f55117..45731fe 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Layer.gif
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Layer.gif
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayerOperatorConfig.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayerOperatorConfig.gif
deleted file mode 100755
index 83afb9b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayerOperatorConfig.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayerOperatorMultipleBinding.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayerOperatorMultipleBinding.gif
deleted file mode 100755
index cb1755a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayerOperatorMultipleBinding.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayerOperatorToOperatorBinding.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayerOperatorToOperatorBinding.gif
deleted file mode 100755
index 53500da..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayerOperatorToOperatorBinding.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayersStack.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayersStack.gif
index f830b32..c4a8af4 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayersStack.gif
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayersStack.gif
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayersStackApplication.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayersStackApplication.gif
index b4ac2ec..a26660e 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayersStackApplication.gif
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LayersStackApplication.gif
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LineInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LineInstance.gif
deleted file mode 100755
index f412370..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LineInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LinePropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LinePropertySetter.gif
deleted file mode 100755
index 338fb8d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LinePropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LineType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LineType.gif
deleted file mode 100755
index d3dc5a9..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/LineType.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/ModelStyleSheets.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/ModelStyleSheets.gif
deleted file mode 100755
index cdd3b76..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/ModelStyleSheets.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/NullInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/NullInstance.gif
index f412370..c8d381f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/NullInstance.gif
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/NullInstance.gif
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/OperatorBinding.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/OperatorBinding.gif
deleted file mode 100755
index 89ad5da..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/OperatorBinding.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/OperatorConfig.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/OperatorConfig.gif
deleted file mode 100755
index ef56c14..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/OperatorConfig.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/OrStackedLayerOperatorDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/OrStackedLayerOperatorDescriptor.gif
deleted file mode 100755
index c3370c7..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/OrStackedLayerOperatorDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/PropertyId.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/PropertyId.gif
deleted file mode 100755
index 134551b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/PropertyId.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StringType.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/PropertyOperatorInstance.gif
similarity index 100%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StringType.gif
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/PropertyOperatorInstance.gif
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/PropertySetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/PropertySetter.gif
deleted file mode 100755
index 7bac4fd..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/PropertySetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/RegExpLayer.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/RegExpLayer.gif
deleted file mode 100755
index 5274202..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/RegExpLayer.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/RegExpLayerDescriptor.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/RegExpLayerDescriptor.gif
deleted file mode 100755
index 7bac4fd..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/RegExpLayerDescriptor.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/SimpleBinding.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/SimpleBinding.gif
deleted file mode 100755
index 420eee1..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/SimpleBinding.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StackedLayerOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StackedLayerOperator.gif
index 6329a4e..739ebbf 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StackedLayerOperator.gif
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StackedLayerOperator.gif
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StringInstance.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StringInstance.gif
deleted file mode 100755
index f412370..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StringInstance.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StringToTypeInstanceMap.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StringToTypeInstanceMap.gif
index 249fda9..badaab0 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StringToTypeInstanceMap.gif
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StringToTypeInstanceMap.gif
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StyleSheetReference.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StyleSheetReference.gif
deleted file mode 100755
index c414fe9..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/StyleSheetReference.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Theme.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Theme.gif
deleted file mode 100755
index 5a9bc75..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/Theme.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/TopLayerOperator.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/TopLayerOperator.gif
index af9f5f2..7b7c428 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/TopLayerOperator.gif
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/TopLayerOperator.gif
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/TypeConfig.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/TypeConfig.gif
deleted file mode 100755
index caf2804..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/TypeConfig.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/WorkspaceThemes.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/WorkspaceThemes.gif
deleted file mode 100755
index 35ef84e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/WorkspaceThemes.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/isAbstractUmlSetter.gif b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/isAbstractUmlSetter.gif
deleted file mode 100755
index c3370c7..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/icons/full/obj16/isAbstractUmlSetter.gif
+++ /dev/null
Binary files differ
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/plugin.properties b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/plugin.properties
index f552068..162bb15 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/plugin.properties
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/plugin.properties
@@ -261,3 +261,10 @@
 _UI_CSSInstance_style_feature = Style
 _UI_CSSHideInstance_stylesheet_feature = Stylesheet
 _UI_CSSHideInstance_style_feature = Style
+_UI_LayerOperator_layerOperatorDescriptorName_feature = Layer Operator Descriptor Name
+_UI_LayerOperator_layeroperatordescriptor_feature = Layeroperatordescriptor
+_UI_PropertyOperator_classname_feature = Classname
+_UI_PropertyOperator_operatorInstance_feature = Operator Instance
+_UI_PropertyOperator_classBundleID_feature = Class Bundle ID
+_UI_PropertyOperatorInstance_type = Property Operator Instance
+_UI_LayerOperator_layerOperatorDescriptor_feature = Layer Operator Descriptor
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/plugin.xml b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/plugin.xml
index cce1edb..bc1b780 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/plugin.xml
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/plugin.xml
@@ -10,7 +10,7 @@
       <!-- @generated layers -->
       <factory
             uri="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"
-            class="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory"
+            class="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom.CustomLayersItemProviderAdapterFactory"
             supportedTypes=
               "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
                org.eclipse.emf.edit.provider.IStructuredItemContentProvider
@@ -19,6 +19,13 @@
                org.eclipse.emf.edit.provider.IItemPropertySource"/>
    </extension>
 
+   <extension point="org.eclipse.emf.edit.childCreationExtenders">
+      <!-- @generated layers -->
+      <extender
+            uri="http://www.eclipse.org/gmf/runtime/1.0.2/notation"
+            class="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory$NotationChildCreationExtender"/>
+   </extension>
+
    <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
       <!-- @generated layersconfig -->
       <factory
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/FolderElementItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/FolderElementItemProvider.java
index e77a6e1..029d5a8 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/FolderElementItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/FolderElementItemProvider.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.provider;
 
@@ -18,7 +19,9 @@
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.common.util.ResourceLocator;
+
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -29,6 +32,7 @@
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.emf.edit.provider.ViewerNotification;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.FolderElement;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/FolderItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/FolderItemProvider.java
index 9b837e1..75b813a 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/FolderItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/FolderItemProvider.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.provider;
 
@@ -18,9 +19,12 @@
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EStructuralFeature;
+
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.Folder;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/InstanciableElementItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/InstanciableElementItemProvider.java
index 2b22884..2a85127 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/InstanciableElementItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/InstanciableElementItemProvider.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.provider;
 
@@ -18,10 +19,12 @@
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.InstanciableElement;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayerOperatorConfigItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayerOperatorConfigItemProvider.java
index d59ac6e..c68c9dc 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayerOperatorConfigItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayerOperatorConfigItemProvider.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.provider;
 
@@ -18,7 +19,9 @@
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorConfig;
 
 /**
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayerOperatorMultipleBindingItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayerOperatorMultipleBindingItemProvider.java
index ea38c7e..ba7790f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayerOperatorMultipleBindingItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayerOperatorMultipleBindingItemProvider.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.provider;
 
@@ -18,10 +19,13 @@
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EStructuralFeature;
+
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorMultipleBinding;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayersConfigEditPlugin.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayersConfigEditPlugin.java
index 57f25e8..9bec2b3 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayersConfigEditPlugin.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/LayersConfigEditPlugin.java
@@ -20,7 +20,7 @@
 import org.osgi.framework.BundleActivator;
 
 /**
- * This is the central singleton for the Layersconfig edit plugin.
+ * This is the central singleton for the LayersConfig edit plugin.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/OperatorBindingItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/OperatorBindingItemProvider.java
index f65c87e..253d041 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/OperatorBindingItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/OperatorBindingItemProvider.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.provider;
 
@@ -18,7 +19,9 @@
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.common.util.ResourceLocator;
+
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -27,6 +30,7 @@
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
 
 /**
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/OperatorConfigItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/OperatorConfigItemProvider.java
index 98c95b4..3818b59 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/OperatorConfigItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/OperatorConfigItemProvider.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.provider;
 
@@ -18,7 +19,9 @@
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.OperatorConfig;
 
 /**
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/PropertyIdItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/PropertyIdItemProvider.java
index b3297e1..5fa4360 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/PropertyIdItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/PropertyIdItemProvider.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.provider;
 
@@ -18,8 +19,10 @@
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.PropertyId;
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/TypeConfigItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/TypeConfigItemProvider.java
index 1fca231..d5fc56d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/TypeConfigItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/provider/TypeConfigItemProvider.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.provider;
 
@@ -18,7 +19,9 @@
 
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.TypeConfig;
 
 /**
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AbstractLayerItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AbstractLayerItemProvider.java
index 8547c17..0d4292f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AbstractLayerItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AbstractLayerItemProvider.java
@@ -185,6 +185,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AbstractLayerOperatorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AbstractLayerOperatorItemProvider.java
deleted file mode 100755
index 91ac01d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AbstractLayerOperatorItemProvider.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class AbstractLayerOperatorItemProvider extends LayerOperatorItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public AbstractLayerOperatorItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addLayerOperatorDescriptorPropertyDescriptor(object);
-			addLayerOperatorDescriptorNamePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Layer Operator Descriptor feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addLayerOperatorDescriptorPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_AbstractLayerOperator_layerOperatorDescriptor_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractLayerOperator_layerOperatorDescriptor_feature", "_UI_AbstractLayerOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR,
-				 true,
-				 false,
-				 true,
-				 null,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Layer Operator Descriptor Name feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addLayerOperatorDescriptorNamePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_AbstractLayerOperator_layerOperatorDescriptorName_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_AbstractLayerOperator_layerOperatorDescriptorName_feature", "_UI_AbstractLayerOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((AbstractLayerOperator) object).getName();
-		return label == null || label.length() == 0 ? getString("_UI_AbstractLayerOperator_type") : getString("_UI_AbstractLayerOperator_type") + " " + label;
-	}
-
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(AbstractLayerOperator.class)) {
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AllViewsDerivedLayerItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AllViewsDerivedLayerItemProvider.java
index e6e0bc6..9d3046a 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AllViewsDerivedLayerItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AllViewsDerivedLayerItemProvider.java
@@ -68,6 +68,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AndStackedLayerOperatorDescriptorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AndStackedLayerOperatorDescriptorItemProvider.java
deleted file mode 100755
index b56c924..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/AndStackedLayerOperatorDescriptorItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AndStackedLayerOperatorDescriptor;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AndStackedLayerOperatorDescriptor} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class AndStackedLayerOperatorDescriptorItemProvider extends StackedLayerOperatorDescriptorItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public AndStackedLayerOperatorDescriptorItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns AndStackedLayerOperatorDescriptor.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/AndStackedLayerOperatorDescriptor")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((AndStackedLayerOperatorDescriptor)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_AndStackedLayerOperatorDescriptor_type") : //$NON-NLS-1$
-			getString("_UI_AndStackedLayerOperatorDescriptor_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/ApplicationDependantElementItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/ApplicationDependantElementItemProvider.java
index 1d913a4..478e075 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/ApplicationDependantElementItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/ApplicationDependantElementItemProvider.java
@@ -23,6 +23,7 @@
 import org.eclipse.emf.common.util.ResourceLocator;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -96,6 +97,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -140,7 +151,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/BooleanInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/BooleanInstanceItemProvider.java
deleted file mode 100755
index 8e091db..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/BooleanInstanceItemProvider.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class BooleanInstanceItemProvider extends TypeInstanceItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public BooleanInstanceItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addValuePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Value feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addValuePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_BooleanInstance_value_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_BooleanInstance_value_feature", "_UI_BooleanInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.BOOLEAN_INSTANCE__VALUE,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns BooleanInstance.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/BooleanInstance")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public String getText(Object object) {
-		BooleanInstance booleanInstance = (BooleanInstance) object;
-		String propertyName = getInstancePropertyName(object);
-		return ("".equals(propertyName) ? getString("_UI_BooleanInstance_type") : "'" + propertyName + "'") + "=" + booleanInstance.isValue();
-	}
-
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(BooleanInstance.class)) {
-			case LayersPackage.BOOLEAN_INSTANCE__VALUE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/BooleanTypeItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/BooleanTypeItemProvider.java
deleted file mode 100755
index 6270f2f..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/BooleanTypeItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanType;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanType} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class BooleanTypeItemProvider extends TypeItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public BooleanTypeItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns BooleanType.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/BooleanType")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((BooleanType)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_BooleanType_type") : //$NON-NLS-1$
-			getString("_UI_BooleanType_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHideInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHideInstanceItemProvider.java
index 653533a..94df66a 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHideInstanceItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHideInstanceItemProvider.java
@@ -129,6 +129,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHidePropertySetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHidePropertySetterItemProvider.java
index 93a8e82..e4d0b2f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHidePropertySetterItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHidePropertySetterItemProvider.java
@@ -68,6 +68,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHideTypeItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHideTypeItemProvider.java
index 9f53c52..f388e32 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHideTypeItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSHideTypeItemProvider.java
@@ -68,6 +68,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSInstanceItemProvider.java
index e9b2c41..626e9ca 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSInstanceItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSInstanceItemProvider.java
@@ -129,6 +129,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSPropertySetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSPropertySetterItemProvider.java
index beb8919..03d36dc 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSPropertySetterItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSPropertySetterItemProvider.java
@@ -68,6 +68,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSTypeItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSTypeItemProvider.java
index 35a3dc4..52d1763 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSTypeItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CSSTypeItemProvider.java
@@ -68,6 +68,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/ColorInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/ColorInstanceItemProvider.java
deleted file mode 100755
index a0e1c60..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/ColorInstanceItemProvider.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ColorInstanceItemProvider extends TypeInstanceItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ColorInstanceItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addValuePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Value feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addValuePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_ColorInstance_value_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_ColorInstance_value_feature", "_UI_ColorInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.COLOR_INSTANCE__VALUE,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns ColorInstance.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/ColorInstance")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public String getText(Object object) {
-		ColorInstance colorInstance = (ColorInstance) object;
-		String propertyName = getInstancePropertyName(object);
-		return ("".equals(propertyName) ? getString("_UI_ColorInstance_type") : "'" + propertyName + "'") + "=" + colorInstance.getValue();
-	}
-
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(ColorInstance.class)) {
-			case LayersPackage.COLOR_INSTANCE__VALUE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/ColorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/ColorItemProvider.java
deleted file mode 100755
index 4823f27..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/ColorItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Color;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Color} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class ColorItemProvider extends TypeItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ColorItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns Color.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/Color")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((Color)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Color_type") : //$NON-NLS-1$
-			getString("_UI_Color_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CustomLayerOperatorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CustomLayerOperatorItemProvider.java
deleted file mode 100755
index 170570a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CustomLayerOperatorItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomLayerOperator;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomLayerOperator} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class CustomLayerOperatorItemProvider extends LayerOperatorItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public CustomLayerOperatorItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns CustomLayerOperator.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/CustomLayerOperator")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((CustomLayerOperator)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_CustomLayerOperator_type") : //$NON-NLS-1$
-			getString("_UI_CustomLayerOperator_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CustomPropertyOperatorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CustomPropertyOperatorItemProvider.java
deleted file mode 100755
index 4dda9d4..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CustomPropertyOperatorItemProvider.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class CustomPropertyOperatorItemProvider extends PropertyOperatorItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public CustomPropertyOperatorItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addClassnamePropertyDescriptor(object);
-			addOperatorInstancePropertyDescriptor(object);
-			addClassBundleIDPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Classname feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addClassnamePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_CustomPropertyOperator_classname_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_CustomPropertyOperator_classname_feature", "_UI_CustomPropertyOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.CUSTOM_PROPERTY_OPERATOR__CLASSNAME,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Operator Instance feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addOperatorInstancePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_CustomPropertyOperator_operatorInstance_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_CustomPropertyOperator_operatorInstance_feature", "_UI_CustomPropertyOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.CUSTOM_PROPERTY_OPERATOR__OPERATOR_INSTANCE,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Class Bundle ID feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addClassBundleIDPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_CustomPropertyOperator_classBundleID_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_CustomPropertyOperator_classBundleID_feature", "_UI_CustomPropertyOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.CUSTOM_PROPERTY_OPERATOR__CLASS_BUNDLE_ID,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns CustomPropertyOperator.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/CustomPropertyOperator")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((CustomPropertyOperator)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_CustomPropertyOperator_type") : //$NON-NLS-1$
-			getString("_UI_CustomPropertyOperator_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(CustomPropertyOperator.class)) {
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASSNAME:
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__OPERATOR_INSTANCE:
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASS_BUNDLE_ID:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CustomTypeItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CustomTypeItemProvider.java
deleted file mode 100755
index 29ddf9a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/CustomTypeItemProvider.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class CustomTypeItemProvider extends TypeItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public CustomTypeItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addClassifierPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Classifier feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addClassifierPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_CustomType_classifier_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_CustomType_classifier_feature", "_UI_CustomType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.CUSTOM_TYPE__CLASSIFIER,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns CustomType.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/CustomType")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((CustomType)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_CustomType_type") : //$NON-NLS-1$
-			getString("_UI_CustomType_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(CustomType.class)) {
-			case LayersPackage.CUSTOM_TYPE__CLASSIFIER:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/DefaultPropertyOperatorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/DefaultPropertyOperatorItemProvider.java
deleted file mode 100755
index 009116d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/DefaultPropertyOperatorItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class DefaultPropertyOperatorItemProvider extends PropertyOperatorItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DefaultPropertyOperatorItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns DefaultPropertyOperator.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/DefaultPropertyOperator")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((DefaultPropertyOperator)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_DefaultPropertyOperator_type") : //$NON-NLS-1$
-			getString("_UI_DefaultPropertyOperator_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FillInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FillInstanceItemProvider.java
deleted file mode 100755
index 8d8e1e9..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FillInstanceItemProvider.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class FillInstanceItemProvider extends TypeInstanceItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FillInstanceItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addTransparencyPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Transparency feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addTransparencyPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_FillInstance_transparency_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_FillInstance_transparency_feature", "_UI_FillInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.FILL_INSTANCE__TRANSPARENCY,
-				 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}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(LayersPackage.Literals.FILL_INSTANCE__FILL_COLOR);
-		}
-		return childrenFeatures;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		// Check the type of the specified child object and return the proper feature to use for
-		// adding (see {@link AddCommand}) it as a child.
-
-		return super.getChildFeature(object, child);
-	}
-
-	/**
-	 * This returns FillInstance.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/FillInstance")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public String getText(Object object) {
-		FillInstance fillInstance = (FillInstance) object;
-		String propertyName = getInstancePropertyName(object);
-		return ("".equals(propertyName) ? getString("_UI_FillInstance_type") : "'" + propertyName + "'") + "=" + fillInstance.getTransparency();
-	}
-
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(FillInstance.class)) {
-			case LayersPackage.FILL_INSTANCE__TRANSPARENCY:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-			case LayersPackage.FILL_INSTANCE__FILL_COLOR:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.FILL_INSTANCE__FILL_COLOR,
-				 LayersFactory.eINSTANCE.createColorInstance()));
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FillItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FillItemProvider.java
deleted file mode 100755
index ecaafd9..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FillItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Fill;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Fill} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class FillItemProvider extends TypeItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FillItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns Fill.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/Fill")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((Fill)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_Fill_type") : //$NON-NLS-1$
-			getString("_UI_Fill_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FolderElementItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FolderElementItemProvider.java
index c3e2dd4..217ff0d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FolderElementItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FolderElementItemProvider.java
@@ -22,6 +22,7 @@
 
 import org.eclipse.emf.common.util.ResourceLocator;
 
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -70,6 +71,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -114,7 +125,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FolderItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FolderItemProvider.java
index 2784d86..2a09fb4 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FolderItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FolderItemProvider.java
@@ -128,6 +128,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -188,52 +198,12 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.FOLDER__ELEMENTS,
-				 LayersFactory.eINSTANCE.createMetamodel()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.FOLDER__ELEMENTS,
 				 LayersFactory.eINSTANCE.createFolder()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.FOLDER__ELEMENTS,
-				 LayersFactory.eINSTANCE.createIntType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.FOLDER__ELEMENTS,
-				 LayersFactory.eINSTANCE.createBooleanType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.FOLDER__ELEMENTS,
-				 LayersFactory.eINSTANCE.createStringType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.FOLDER__ELEMENTS,
-				 LayersFactory.eINSTANCE.createCustomType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.FOLDER__ELEMENTS,
-				 LayersFactory.eINSTANCE.createColor()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.FOLDER__ELEMENTS,
-				 LayersFactory.eINSTANCE.createFill()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.FOLDER__ELEMENTS,
-				 LayersFactory.eINSTANCE.createLineType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.FOLDER__ELEMENTS,
-				 LayersFactory.eINSTANCE.createFontType()));
+				 LayersFactory.eINSTANCE.createMetamodel()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FontInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FontInstanceItemProvider.java
deleted file mode 100755
index 06efadf..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FontInstanceItemProvider.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class FontInstanceItemProvider extends TypeInstanceItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FontInstanceItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addFontColorPropertyDescriptor(object);
-			addFontNamePropertyDescriptor(object);
-			addFontHeighPropertyDescriptor(object);
-			addBoldPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Font Color feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addFontColorPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_FontInstance_fontColor_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_FontInstance_fontColor_feature", "_UI_FontInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.FONT_INSTANCE__FONT_COLOR,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Font Name feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addFontNamePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_FontInstance_fontName_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_FontInstance_fontName_feature", "_UI_FontInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.FONT_INSTANCE__FONT_NAME,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Font Heigh feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addFontHeighPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_FontInstance_fontHeigh_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_FontInstance_fontHeigh_feature", "_UI_FontInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.FONT_INSTANCE__FONT_HEIGH,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Bold feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addBoldPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_FontInstance_bold_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_FontInstance_bold_feature", "_UI_FontInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.FONT_INSTANCE__BOLD,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns FontInstance.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/FontInstance")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((FontInstance) object).getFontName();
-
-		String propertyName = getInstancePropertyName(object);
-		return ("".equals(propertyName) ? getString("_UI_FontInstance_type") : "'" + propertyName + "'")
-				+ "=" + label;
-
-	}
-
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(FontInstance.class)) {
-			case LayersPackage.FONT_INSTANCE__FONT_COLOR:
-			case LayersPackage.FONT_INSTANCE__FONT_NAME:
-			case LayersPackage.FONT_INSTANCE__FONT_HEIGH:
-			case LayersPackage.FONT_INSTANCE__BOLD:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FontPropertySetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FontPropertySetterItemProvider.java
deleted file mode 100755
index 7cc990d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FontPropertySetterItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontPropertySetter;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontPropertySetter} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class FontPropertySetterItemProvider extends PropertySetterItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FontPropertySetterItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns FontPropertySetter.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/FontPropertySetter")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((FontPropertySetter)object).getPropertyName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_FontPropertySetter_type") : //$NON-NLS-1$
-			getString("_UI_FontPropertySetter_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FontTypeItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FontTypeItemProvider.java
deleted file mode 100755
index 7d37174..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FontTypeItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontType;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontType} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class FontTypeItemProvider extends TypeItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public FontTypeItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns FontType.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/FontType")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((FontType)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_FontType_type") : //$NON-NLS-1$
-			getString("_UI_FontType_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IntInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IntInstanceItemProvider.java
deleted file mode 100755
index a340486..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IntInstanceItemProvider.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class IntInstanceItemProvider extends TypeInstanceItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IntInstanceItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addValuePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Value feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addValuePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_IntInstance_value_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_IntInstance_value_feature", "_UI_IntInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.INT_INSTANCE__VALUE,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns IntInstance.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/IntInstance")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		IntInstance intInstance = (IntInstance)object;
-		return getString("_UI_IntInstance_type") + " " + intInstance.getValue(); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(IntInstance.class)) {
-			case LayersPackage.INT_INSTANCE__VALUE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IntTypeItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IntTypeItemProvider.java
deleted file mode 100755
index 4bfdfc9..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IntTypeItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntType;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntType} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class IntTypeItemProvider extends TypeItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IntTypeItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns IntType.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/IntType")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((IntType)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_IntType_type") : //$NON-NLS-1$
-			getString("_UI_IntType_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IsAbstractUmlSetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IsAbstractUmlSetterItemProvider.java
deleted file mode 100755
index 86152cc..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IsAbstractUmlSetterItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsAbstractUmlSetter;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsAbstractUmlSetter} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class IsAbstractUmlSetterItemProvider extends PropertySetterItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IsAbstractUmlSetterItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns IsAbstractUmlSetter.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/IsAbstractUmlSetter")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((IsAbstractUmlSetter)object).getPropertyName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_IsAbstractUmlSetter_type") : //$NON-NLS-1$
-			getString("_UI_IsAbstractUmlSetter_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IsValidPropertySetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IsValidPropertySetterItemProvider.java
deleted file mode 100755
index aa98a82..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IsValidPropertySetterItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsValidPropertySetter;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsValidPropertySetter} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class IsValidPropertySetterItemProvider extends PropertySetterItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IsValidPropertySetterItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns IsValidPropertySetter.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/IsValidPropertySetter")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((IsValidPropertySetter)object).getPropertyName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_IsValidPropertySetter_type") : //$NON-NLS-1$
-			getString("_UI_IsValidPropertySetter_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IsVisiblePropertySetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IsVisiblePropertySetterItemProvider.java
deleted file mode 100755
index d0ae1ed..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/IsVisiblePropertySetterItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsVisiblePropertySetter;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsVisiblePropertySetter} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class IsVisiblePropertySetterItemProvider extends PropertySetterItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IsVisiblePropertySetterItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns IsVisiblePropertySetter.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/IsVisiblePropertySetter")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((IsVisiblePropertySetter)object).getPropertyName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_IsVisiblePropertySetter_type") : //$NON-NLS-1$
-			getString("_UI_IsVisiblePropertySetter_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerApplicationFactoryItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerApplicationFactoryItemProvider.java
index 83b0169..b42ffbf 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerApplicationFactoryItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerApplicationFactoryItemProvider.java
@@ -22,6 +22,7 @@
 
 import org.eclipse.emf.common.util.ResourceLocator;
 
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -81,6 +82,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -125,7 +136,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerDescriptorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerDescriptorItemProvider.java
index 1785ff9..78659cb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerDescriptorItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerDescriptorItemProvider.java
@@ -23,6 +23,7 @@
 import org.eclipse.emf.common.util.ResourceLocator;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -107,6 +108,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -151,7 +162,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerDescriptorRegistryItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerDescriptorRegistryItemProvider.java
index 8a6fb5d..c805f92 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerDescriptorRegistryItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerDescriptorRegistryItemProvider.java
@@ -24,6 +24,7 @@
 
 import org.eclipse.emf.ecore.EStructuralFeature;
 
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -118,6 +119,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -168,11 +179,6 @@
 			(createChildParameter
 				(LayersPackage.Literals.LAYER_DESCRIPTOR_REGISTRY__LAYER_DESCRIPTORS,
 				 LayersFactory.eINSTANCE.createSimpleLayerDescriptor()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.LAYER_DESCRIPTOR_REGISTRY__LAYER_DESCRIPTORS,
-				 LayersFactory.eINSTANCE.createRegExpLayerDescriptor()));
 	}
 
 	/**
@@ -183,7 +189,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerExpressionItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerExpressionItemProvider.java
index d9e3895..b68c886 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerExpressionItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerExpressionItemProvider.java
@@ -222,6 +222,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerItemProvider.java
index 3dbbe22..ef392a6 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerItemProvider.java
@@ -68,6 +68,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerNamedStyleItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerNamedStyleItemProvider.java
index afaebf3..6ccfd15 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerNamedStyleItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerNamedStyleItemProvider.java
@@ -24,6 +24,7 @@
 
 import org.eclipse.emf.ecore.EStructuralFeature;
 
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 
@@ -107,6 +108,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -145,9 +156,8 @@
 	 * that can be created under this object.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated NOT
-	 *
 	 */
 	@Override
 	protected void collectNewChildDescriptors(Collection/* <Object> */ newChildDescriptors, Object object) {
@@ -165,7 +175,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorDescriptorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorDescriptorItemProvider.java
index 21e8ef1..909752c 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorDescriptorItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorDescriptorItemProvider.java
@@ -23,6 +23,7 @@
 import org.eclipse.emf.common.util.ResourceLocator;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -133,6 +134,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -186,7 +197,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorDescriptorRegistryItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorDescriptorRegistryItemProvider.java
index 313f5d2..1651f07 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorDescriptorRegistryItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorDescriptorRegistryItemProvider.java
@@ -25,6 +25,7 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -167,6 +168,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -230,28 +241,8 @@
 
 		newChildDescriptors.add
 			(createChildParameter
-				(LayersPackage.Literals.LAYER_OPERATOR_DESCRIPTOR_REGISTRY__DESCRIPTORS,
-				 LayersFactory.eINSTANCE.createAndStackedLayerOperatorDescriptor()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.LAYER_OPERATOR_DESCRIPTOR_REGISTRY__DESCRIPTORS,
-				 LayersFactory.eINSTANCE.createOrStackedLayerOperatorDescriptor()));
-
-		newChildDescriptors.add
-			(createChildParameter
 				(LayersPackage.Literals.LAYER_OPERATOR_DESCRIPTOR_REGISTRY__PROPERTY_OPERATORS,
 				 LayersFactory.eINSTANCE.createPropertyOperator()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.LAYER_OPERATOR_DESCRIPTOR_REGISTRY__PROPERTY_OPERATORS,
-				 LayersFactory.eINSTANCE.createDefaultPropertyOperator()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.LAYER_OPERATOR_DESCRIPTOR_REGISTRY__PROPERTY_OPERATORS,
-				 LayersFactory.eINSTANCE.createCustomPropertyOperator()));
 	}
 
 	/**
@@ -262,7 +253,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorItemProvider.java
index 1d37393..7237526 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerOperatorItemProvider.java
@@ -22,7 +22,9 @@
 
 import org.eclipse.emf.ecore.EStructuralFeature;
 
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
@@ -57,11 +59,57 @@
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addLayerOperatorDescriptorNamePropertyDescriptor(object);
+			addLayerOperatorDescriptorPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
+	 * This adds a property descriptor for the Layer Operator Descriptor Name feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addLayerOperatorDescriptorNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_LayerOperator_layerOperatorDescriptorName_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_LayerOperator_layerOperatorDescriptorName_feature", "_UI_LayerOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 LayersPackage.Literals.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Layer Operator Descriptor feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addLayerOperatorDescriptorPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_LayerOperator_layerOperatorDescriptor_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_LayerOperator_layerOperatorDescriptor_feature", "_UI_LayerOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 LayersPackage.Literals.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR,
+				 true,
+				 false,
+				 true,
+				 null,
+				 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}.
@@ -92,6 +140,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -118,6 +176,9 @@
 		updateChildren(notification);
 
 		switch (notification.getFeatureID(LayerOperator.class)) {
+			case LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
 			case LayersPackage.LAYER_OPERATOR__LAYERS:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
 				return;
@@ -149,16 +210,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.LAYER_OPERATOR__LAYERS,
-				 LayersFactory.eINSTANCE.createCustomLayerOperator()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.LAYER_OPERATOR__LAYERS,
-				 LayersFactory.eINSTANCE.createRegExpLayer()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.LAYER_OPERATOR__LAYERS,
 				 LayersFactory.eINSTANCE.createLayer()));
 
 		newChildDescriptors.add
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerStackDescriptorRegistryItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerStackDescriptorRegistryItemProvider.java
index 897227d..8fc0db2 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerStackDescriptorRegistryItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayerStackDescriptorRegistryItemProvider.java
@@ -22,6 +22,7 @@
 
 import org.eclipse.emf.common.util.ResourceLocator;
 
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -81,6 +82,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -125,7 +136,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersItemProviderAdapterFactory.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersItemProviderAdapterFactory.java
index 2f269e3..06c0d73 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersItemProviderAdapterFactory.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersItemProviderAdapterFactory.java
@@ -15,15 +15,26 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.Notifier;
 
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.edit.command.CommandParameter;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
 import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
 import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IDisposable;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -32,6 +43,14 @@
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+
+import org.eclipse.gmf.runtime.notation.util.NotationSwitch;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.util.LayersAdapterFactory;
 
 /**
@@ -43,7 +62,7 @@
  * <!-- end-user-doc -->
  * @generated
  */
-public class LayersItemProviderAdapterFactory extends LayersAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+public class LayersItemProviderAdapterFactory extends LayersAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable, IChildCreationExtender {
 	/**
 	 * This keeps track of the root adapter factory that delegates to this adapter factory.
 	 * <!-- begin-user-doc -->
@@ -61,6 +80,14 @@
 	protected IChangeNotifier changeNotifier = new ChangeNotifier();
 
 	/**
+	 * This helps manage the child creation extenders.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(LayersEditPlugin.INSTANCE, LayersPackage.eNS_URI);
+
+	/**
 	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -221,29 +248,6 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected MetamodelItemProvider metamodelItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createMetamodelAdapter() {
-		if (metamodelItemProvider == null) {
-			metamodelItemProvider = new MetamodelItemProvider(this);
-		}
-
-		return metamodelItemProvider;
-	}
-
-	/**
 	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeRegistry} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -474,29 +478,6 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected DefaultPropertyOperatorItemProvider defaultPropertyOperatorItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createDefaultPropertyOperatorAdapter() {
-		if (defaultPropertyOperatorItemProvider == null) {
-			defaultPropertyOperatorItemProvider = new DefaultPropertyOperatorItemProvider(this);
-		}
-
-		return defaultPropertyOperatorItemProvider;
-	}
-
-	/**
 	 * This keeps track of the one adapter used for all {@link java.util.Map.Entry} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -543,164 +524,26 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance} instances.
+	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected IntInstanceItemProvider intInstanceItemProvider;
+	protected MetamodelItemProvider metamodelItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance}.
+	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createIntInstanceAdapter() {
-		if (intInstanceItemProvider == null) {
-			intInstanceItemProvider = new IntInstanceItemProvider(this);
+	public Adapter createMetamodelAdapter() {
+		if (metamodelItemProvider == null) {
+			metamodelItemProvider = new MetamodelItemProvider(this);
 		}
 
-		return intInstanceItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected BooleanInstanceItemProvider booleanInstanceItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createBooleanInstanceAdapter() {
-		if (booleanInstanceItemProvider == null) {
-			booleanInstanceItemProvider = new BooleanInstanceItemProvider(this);
-		}
-
-		return booleanInstanceItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected StringInstanceItemProvider stringInstanceItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createStringInstanceAdapter() {
-		if (stringInstanceItemProvider == null) {
-			stringInstanceItemProvider = new StringInstanceItemProvider(this);
-		}
-
-		return stringInstanceItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntType} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected IntTypeItemProvider intTypeItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntType}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createIntTypeAdapter() {
-		if (intTypeItemProvider == null) {
-			intTypeItemProvider = new IntTypeItemProvider(this);
-		}
-
-		return intTypeItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanType} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected BooleanTypeItemProvider booleanTypeItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanType}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createBooleanTypeAdapter() {
-		if (booleanTypeItemProvider == null) {
-			booleanTypeItemProvider = new BooleanTypeItemProvider(this);
-		}
-
-		return booleanTypeItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringType} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected StringTypeItemProvider stringTypeItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringType}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createStringTypeAdapter() {
-		if (stringTypeItemProvider == null) {
-			stringTypeItemProvider = new StringTypeItemProvider(this);
-		}
-
-		return stringTypeItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected CustomTypeItemProvider customTypeItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createCustomTypeAdapter() {
-		if (customTypeItemProvider == null) {
-			customTypeItemProvider = new CustomTypeItemProvider(this);
-		}
-
-		return customTypeItemProvider;
+		return metamodelItemProvider;
 	}
 
 	/**
@@ -750,29 +593,6 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomLayerOperator} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected CustomLayerOperatorItemProvider customLayerOperatorItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomLayerOperator}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createCustomLayerOperatorAdapter() {
-		if (customLayerOperatorItemProvider == null) {
-			customLayerOperatorItemProvider = new CustomLayerOperatorItemProvider(this);
-		}
-
-		return customLayerOperatorItemProvider;
-	}
-
-	/**
 	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyIndex} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -842,29 +662,6 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayerDescriptor} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected RegExpLayerDescriptorItemProvider regExpLayerDescriptorItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayerDescriptor}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createRegExpLayerDescriptorAdapter() {
-		if (regExpLayerDescriptorItemProvider == null) {
-			regExpLayerDescriptorItemProvider = new RegExpLayerDescriptorItemProvider(this);
-		}
-
-		return regExpLayerDescriptorItemProvider;
-	}
-
-	/**
 	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullInstance} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -888,29 +685,6 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected RegExpLayerItemProvider regExpLayerItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createRegExpLayerAdapter() {
-		if (regExpLayerItemProvider == null) {
-			regExpLayerItemProvider = new RegExpLayerItemProvider(this);
-		}
-
-		return regExpLayerItemProvider;
-	}
-
-	/**
 	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Layer} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -934,144 +708,6 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Color} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ColorItemProvider colorItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Color}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createColorAdapter() {
-		if (colorItemProvider == null) {
-			colorItemProvider = new ColorItemProvider(this);
-		}
-
-		return colorItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ColorInstanceItemProvider colorInstanceItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createColorInstanceAdapter() {
-		if (colorInstanceItemProvider == null) {
-			colorInstanceItemProvider = new ColorInstanceItemProvider(this);
-		}
-
-		return colorInstanceItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected FillInstanceItemProvider fillInstanceItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createFillInstanceAdapter() {
-		if (fillInstanceItemProvider == null) {
-			fillInstanceItemProvider = new FillInstanceItemProvider(this);
-		}
-
-		return fillInstanceItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Fill} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected FillItemProvider fillItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Fill}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createFillAdapter() {
-		if (fillItemProvider == null) {
-			fillItemProvider = new FillItemProvider(this);
-		}
-
-		return fillItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillPropertySetter} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected FillPropertySetterItemProvider fillPropertySetterItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillPropertySetter}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createFillPropertySetterAdapter() {
-		if (fillPropertySetterItemProvider == null) {
-			fillPropertySetterItemProvider = new FillPropertySetterItemProvider(this);
-		}
-
-		return fillPropertySetterItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsValidPropertySetter} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected IsValidPropertySetterItemProvider isValidPropertySetterItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsValidPropertySetter}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createIsValidPropertySetterAdapter() {
-		if (isValidPropertySetterItemProvider == null) {
-			isValidPropertySetterItemProvider = new IsValidPropertySetterItemProvider(this);
-		}
-
-		return isValidPropertySetterItemProvider;
-	}
-
-	/**
 	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullPropertySetter} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1095,167 +731,6 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineType} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LineTypeItemProvider lineTypeItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineType}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createLineTypeAdapter() {
-		if (lineTypeItemProvider == null) {
-			lineTypeItemProvider = new LineTypeItemProvider(this);
-		}
-
-		return lineTypeItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LineInstanceItemProvider lineInstanceItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createLineInstanceAdapter() {
-		if (lineInstanceItemProvider == null) {
-			lineInstanceItemProvider = new LineInstanceItemProvider(this);
-		}
-
-		return lineInstanceItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LinePropertySetter} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LinePropertySetterItemProvider linePropertySetterItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LinePropertySetter}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createLinePropertySetterAdapter() {
-		if (linePropertySetterItemProvider == null) {
-			linePropertySetterItemProvider = new LinePropertySetterItemProvider(this);
-		}
-
-		return linePropertySetterItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontPropertySetter} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected FontPropertySetterItemProvider fontPropertySetterItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontPropertySetter}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createFontPropertySetterAdapter() {
-		if (fontPropertySetterItemProvider == null) {
-			fontPropertySetterItemProvider = new FontPropertySetterItemProvider(this);
-		}
-
-		return fontPropertySetterItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected FontInstanceItemProvider fontInstanceItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createFontInstanceAdapter() {
-		if (fontInstanceItemProvider == null) {
-			fontInstanceItemProvider = new FontInstanceItemProvider(this);
-		}
-
-		return fontInstanceItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontType} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected FontTypeItemProvider fontTypeItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontType}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createFontTypeAdapter() {
-		if (fontTypeItemProvider == null) {
-			fontTypeItemProvider = new FontTypeItemProvider(this);
-		}
-
-		return fontTypeItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsVisiblePropertySetter} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected IsVisiblePropertySetterItemProvider isVisiblePropertySetterItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsVisiblePropertySetter}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createIsVisiblePropertySetterAdapter() {
-		if (isVisiblePropertySetterItemProvider == null) {
-			isVisiblePropertySetterItemProvider = new IsVisiblePropertySetterItemProvider(this);
-		}
-
-		return isVisiblePropertySetterItemProvider;
-	}
-
-	/**
 	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperatorDescriptor} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1302,98 +777,6 @@
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected CustomPropertyOperatorItemProvider customPropertyOperatorItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createCustomPropertyOperatorAdapter() {
-		if (customPropertyOperatorItemProvider == null) {
-			customPropertyOperatorItemProvider = new CustomPropertyOperatorItemProvider(this);
-		}
-
-		return customPropertyOperatorItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AndStackedLayerOperatorDescriptor} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected AndStackedLayerOperatorDescriptorItemProvider andStackedLayerOperatorDescriptorItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AndStackedLayerOperatorDescriptor}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createAndStackedLayerOperatorDescriptorAdapter() {
-		if (andStackedLayerOperatorDescriptorItemProvider == null) {
-			andStackedLayerOperatorDescriptorItemProvider = new AndStackedLayerOperatorDescriptorItemProvider(this);
-		}
-
-		return andStackedLayerOperatorDescriptorItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.OrStackedLayerOperatorDescriptor} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected OrStackedLayerOperatorDescriptorItemProvider orStackedLayerOperatorDescriptorItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.OrStackedLayerOperatorDescriptor}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createOrStackedLayerOperatorDescriptorAdapter() {
-		if (orStackedLayerOperatorDescriptorItemProvider == null) {
-			orStackedLayerOperatorDescriptorItemProvider = new OrStackedLayerOperatorDescriptorItemProvider(this);
-		}
-
-		return orStackedLayerOperatorDescriptorItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsAbstractUmlSetter} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected IsAbstractUmlSetterItemProvider isAbstractUmlSetterItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsAbstractUmlSetter}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createIsAbstractUmlSetterAdapter() {
-		if (isAbstractUmlSetterItemProvider == null) {
-			isAbstractUmlSetterItemProvider = new IsAbstractUmlSetterItemProvider(this);
-		}
-
-		return isAbstractUmlSetterItemProvider;
-	}
-
-	/**
 	 * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AllViewsDerivedLayer} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1560,6 +943,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public ComposeableAdapterFactory getRootAdapterFactory() {
 		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
 	}
@@ -1570,6 +954,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
 		this.parentAdapterFactory = parentAdapterFactory;
 	}
@@ -1613,11 +998,41 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public List<IChildCreationExtender> getChildCreationExtenders() {
+		return childCreationExtenderManager.getChildCreationExtenders();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
+		return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return childCreationExtenderManager;
+	}
+
+	/**
 	 * This adds a listener.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void addListener(INotifyChangedListener notifyChangedListener) {
 		changeNotifier.addListener(notifyChangedListener);
 	}
@@ -1628,6 +1043,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void removeListener(INotifyChangedListener notifyChangedListener) {
 		changeNotifier.removeListener(notifyChangedListener);
 	}
@@ -1638,6 +1054,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void fireNotifyChanged(Notification notification) {
 		changeNotifier.fireNotifyChanged(notification);
 
@@ -1652,6 +1069,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void dispose() {
 		if (layerNamedStyleItemProvider != null) layerNamedStyleItemProvider.dispose();
 		if (layersStackItemProvider != null) layersStackItemProvider.dispose();
@@ -1659,7 +1077,6 @@
 		if (layerStackDescriptorRegistryItemProvider != null) layerStackDescriptorRegistryItemProvider.dispose();
 		if (propertyRegistryItemProvider != null) propertyRegistryItemProvider.dispose();
 		if (propertyItemProvider != null) propertyItemProvider.dispose();
-		if (metamodelItemProvider != null) metamodelItemProvider.dispose();
 		if (typeRegistryItemProvider != null) typeRegistryItemProvider.dispose();
 		if (stringToTypeMapItemProvider != null) stringToTypeMapItemProvider.dispose();
 		if (layerDescriptorRegistryItemProvider != null) layerDescriptorRegistryItemProvider.dispose();
@@ -1670,46 +1087,19 @@
 		if (layerOperatorDescriptorRegistryItemProvider != null) layerOperatorDescriptorRegistryItemProvider.dispose();
 		if (layerOperatorDescriptorItemProvider != null) layerOperatorDescriptorItemProvider.dispose();
 		if (propertyOperatorItemProvider != null) propertyOperatorItemProvider.dispose();
-		if (defaultPropertyOperatorItemProvider != null) defaultPropertyOperatorItemProvider.dispose();
 		if (stringToTypeInstanceMapItemProvider != null) stringToTypeInstanceMapItemProvider.dispose();
 		if (folderItemProvider != null) folderItemProvider.dispose();
-		if (intInstanceItemProvider != null) intInstanceItemProvider.dispose();
-		if (booleanInstanceItemProvider != null) booleanInstanceItemProvider.dispose();
-		if (stringInstanceItemProvider != null) stringInstanceItemProvider.dispose();
-		if (intTypeItemProvider != null) intTypeItemProvider.dispose();
-		if (booleanTypeItemProvider != null) booleanTypeItemProvider.dispose();
-		if (stringTypeItemProvider != null) stringTypeItemProvider.dispose();
-		if (customTypeItemProvider != null) customTypeItemProvider.dispose();
+		if (metamodelItemProvider != null) metamodelItemProvider.dispose();
 		if (topLayerOperatorItemProvider != null) topLayerOperatorItemProvider.dispose();
 		if (stackedLayerOperatorItemProvider != null) stackedLayerOperatorItemProvider.dispose();
-		if (customLayerOperatorItemProvider != null) customLayerOperatorItemProvider.dispose();
 		if (propertyIndexItemProvider != null) propertyIndexItemProvider.dispose();
 		if (stringToPropertyIndexMapItemProvider != null) stringToPropertyIndexMapItemProvider.dispose();
 		if (simpleLayerDescriptorItemProvider != null) simpleLayerDescriptorItemProvider.dispose();
-		if (regExpLayerDescriptorItemProvider != null) regExpLayerDescriptorItemProvider.dispose();
 		if (nullInstanceItemProvider != null) nullInstanceItemProvider.dispose();
-		if (regExpLayerItemProvider != null) regExpLayerItemProvider.dispose();
 		if (layerItemProvider != null) layerItemProvider.dispose();
-		if (colorItemProvider != null) colorItemProvider.dispose();
-		if (colorInstanceItemProvider != null) colorInstanceItemProvider.dispose();
-		if (fillInstanceItemProvider != null) fillInstanceItemProvider.dispose();
-		if (fillItemProvider != null) fillItemProvider.dispose();
-		if (fillPropertySetterItemProvider != null) fillPropertySetterItemProvider.dispose();
-		if (isValidPropertySetterItemProvider != null) isValidPropertySetterItemProvider.dispose();
 		if (nullPropertySetterItemProvider != null) nullPropertySetterItemProvider.dispose();
-		if (lineTypeItemProvider != null) lineTypeItemProvider.dispose();
-		if (lineInstanceItemProvider != null) lineInstanceItemProvider.dispose();
-		if (linePropertySetterItemProvider != null) linePropertySetterItemProvider.dispose();
-		if (fontPropertySetterItemProvider != null) fontPropertySetterItemProvider.dispose();
-		if (fontInstanceItemProvider != null) fontInstanceItemProvider.dispose();
-		if (fontTypeItemProvider != null) fontTypeItemProvider.dispose();
-		if (isVisiblePropertySetterItemProvider != null) isVisiblePropertySetterItemProvider.dispose();
 		if (topLayerOperatorDescriptorItemProvider != null) topLayerOperatorDescriptorItemProvider.dispose();
 		if (stackedLayerOperatorDescriptorItemProvider != null) stackedLayerOperatorDescriptorItemProvider.dispose();
-		if (customPropertyOperatorItemProvider != null) customPropertyOperatorItemProvider.dispose();
-		if (andStackedLayerOperatorDescriptorItemProvider != null) andStackedLayerOperatorDescriptorItemProvider.dispose();
-		if (orStackedLayerOperatorDescriptorItemProvider != null) orStackedLayerOperatorDescriptorItemProvider.dispose();
-		if (isAbstractUmlSetterItemProvider != null) isAbstractUmlSetterItemProvider.dispose();
 		if (allViewsDerivedLayerItemProvider != null) allViewsDerivedLayerItemProvider.dispose();
 		if (cssPropertySetterItemProvider != null) cssPropertySetterItemProvider.dispose();
 		if (cssTypeItemProvider != null) cssTypeItemProvider.dispose();
@@ -1719,4 +1109,95 @@
 		if (cssHideInstanceItemProvider != null) cssHideInstanceItemProvider.dispose();
 	}
 
+	/**
+	 * A child creation extender for the {@link NotationPackage}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class NotationChildCreationExtender implements IChildCreationExtender {
+		/**
+		 * The switch for creating child descriptors specific to each extended class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * 
+		 * @generated NOT
+		 */
+		protected static class CreationSwitch extends NotationSwitch {
+			/**
+			 * 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 -->
+			 * <!-- 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 -->
+			 * @generated
+			 */
+			CreationSwitch(List<Object> newChildDescriptors, EditingDomain editingDomain) {
+				this.newChildDescriptors = newChildDescriptors;
+				this.editingDomain = editingDomain;
+			}
+
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+			@Override
+			public Object caseView(View object) {
+				newChildDescriptors.add
+					(createChildParameter
+						(NotationPackage.Literals.VIEW__STYLES,
+						 LayersFactory.eINSTANCE.createLayerNamedStyle()));
+
+				return null;
+			}
+
+			/**
+			 * <!-- begin-user-doc -->
+			 * <!-- end-user-doc -->
+			 * @generated
+			 */
+			protected CommandParameter createChildParameter(Object feature, Object child) {
+				return new CommandParameter(null, feature, child);
+			}
+
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Collection<Object> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
+			ArrayList<Object> result = new ArrayList<Object>();
+			new CreationSwitch(result, editingDomain).doSwitch((EObject)object);
+			return result;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public ResourceLocator getResourceLocator() {
+			return LayersEditPlugin.INSTANCE;
+		}
+	}
+
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersStackApplicationItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersStackApplicationItemProvider.java
index baf300f..e2110d8 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersStackApplicationItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersStackApplicationItemProvider.java
@@ -109,6 +109,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersStackItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersStackItemProvider.java
index 703f3a8..29a085a 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersStackItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LayersStackItemProvider.java
@@ -25,6 +25,7 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -45,9 +46,9 @@
  * <!-- end-user-doc -->
  * @generated
  */
-public class LayersStackItemProvider
-		extends ItemProviderAdapter
-		implements
+public class LayersStackItemProvider 
+	extends ItemProviderAdapter
+	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
 		ITreeItemContentProvider,
@@ -212,28 +213,29 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	@Override
 	public String getText(Object object) {
-		LayersStack stack = (LayersStack) object;
-		String label = ((LayersStack) object).getName();
-
-		if (label == null || label.length() == 0) {
-			try {
-				label = stack.getDiagram().getName();
-			} catch (NullPointerException e) {
-				return getString("_UI_LayersStack_type");
-			}
-		}
-
-		return "Stack " + label;
+		String label = ((LayersStack)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_LayersStack_type") : //$NON-NLS-1$
+			getString("_UI_LayersStack_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
 	}
-
+	
 
 	/**
 	 * This handles model notifications by calling {@link #updateChildren} to update any cached
@@ -283,16 +285,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.LAYERS_STACK__LAYERS,
-				 LayersFactory.eINSTANCE.createCustomLayerOperator()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.LAYERS_STACK__LAYERS,
-				 LayersFactory.eINSTANCE.createRegExpLayer()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.LAYERS_STACK__LAYERS,
 				 LayersFactory.eINSTANCE.createLayer()));
 
 		newChildDescriptors.add
@@ -309,7 +301,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LineInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LineInstanceItemProvider.java
deleted file mode 100755
index 5873531..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LineInstanceItemProvider.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class LineInstanceItemProvider extends TypeInstanceItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public LineInstanceItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addLineColorPropertyDescriptor(object);
-			addLineWithPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Line Color feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addLineColorPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_LineInstance_lineColor_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_LineInstance_lineColor_feature", "_UI_LineInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.LINE_INSTANCE__LINE_COLOR,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Line With feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addLineWithPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_LineInstance_lineWith_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_LineInstance_lineWith_feature", "_UI_LineInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.LINE_INSTANCE__LINE_WITH,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns LineInstance.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/LineInstance")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public String getText(Object object) {
-		LineInstance lineInstance = (LineInstance) object;
-		String propertyName = getInstancePropertyName(object);
-		return ("".equals(propertyName) ? getString("_UI_LineInstance_type") : "'" + propertyName + "'")
-				+ " with=" + lineInstance.getLineWith()
-				+ ", color=" + lineInstance.getLineColor();
-	}
-
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(LineInstance.class)) {
-			case LayersPackage.LINE_INSTANCE__LINE_COLOR:
-			case LayersPackage.LINE_INSTANCE__LINE_WITH:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LinePropertySetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LinePropertySetterItemProvider.java
deleted file mode 100755
index 115fe54..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LinePropertySetterItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LinePropertySetter;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LinePropertySetter} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class LinePropertySetterItemProvider extends PropertySetterItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public LinePropertySetterItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns LinePropertySetter.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/LinePropertySetter")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((LinePropertySetter)object).getPropertyName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_LinePropertySetter_type") : //$NON-NLS-1$
-			getString("_UI_LinePropertySetter_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LineTypeItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LineTypeItemProvider.java
deleted file mode 100755
index 63bfef8..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/LineTypeItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineType;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineType} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class LineTypeItemProvider extends TypeItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public LineTypeItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns LineType.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/LineType")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((LineType)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_LineType_type") : //$NON-NLS-1$
-			getString("_UI_LineType_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/MetamodelItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/MetamodelItemProvider.java
index 48bef4d..89f352b 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/MetamodelItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/MetamodelItemProvider.java
@@ -210,6 +210,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/NullInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/NullInstanceItemProvider.java
index e48613e..df01c0b 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/NullInstanceItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/NullInstanceItemProvider.java
@@ -66,6 +66,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/NullPropertySetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/NullPropertySetterItemProvider.java
index 194a9b7..65b375d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/NullPropertySetterItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/NullPropertySetterItemProvider.java
@@ -68,6 +68,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/OrStackedLayerOperatorDescriptorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/OrStackedLayerOperatorDescriptorItemProvider.java
deleted file mode 100755
index c64d75e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/OrStackedLayerOperatorDescriptorItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.OrStackedLayerOperatorDescriptor;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.OrStackedLayerOperatorDescriptor} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class OrStackedLayerOperatorDescriptorItemProvider extends StackedLayerOperatorDescriptorItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public OrStackedLayerOperatorDescriptorItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns OrStackedLayerOperatorDescriptor.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/OrStackedLayerOperatorDescriptor")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((OrStackedLayerOperatorDescriptor)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_OrStackedLayerOperatorDescriptor_type") : //$NON-NLS-1$
-			getString("_UI_OrStackedLayerOperatorDescriptor_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyIndexItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyIndexItemProvider.java
index ea7b37a..ffd8739 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyIndexItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyIndexItemProvider.java
@@ -23,6 +23,7 @@
 import org.eclipse.emf.common.util.ResourceLocator;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -133,6 +134,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -184,7 +195,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyItemProvider.java
index 5c0ff55..e06c9d4 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyItemProvider.java
@@ -197,6 +197,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -249,46 +259,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.PROPERTY__DEFAULT_VALUE,
-				 LayersFactory.eINSTANCE.createIntInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.PROPERTY__DEFAULT_VALUE,
-				 LayersFactory.eINSTANCE.createBooleanInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.PROPERTY__DEFAULT_VALUE,
-				 LayersFactory.eINSTANCE.createStringInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.PROPERTY__DEFAULT_VALUE,
 				 LayersFactory.eINSTANCE.createNullInstance()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.PROPERTY__DEFAULT_VALUE,
-				 LayersFactory.eINSTANCE.createColorInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.PROPERTY__DEFAULT_VALUE,
-				 LayersFactory.eINSTANCE.createFillInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.PROPERTY__DEFAULT_VALUE,
-				 LayersFactory.eINSTANCE.createLineInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.PROPERTY__DEFAULT_VALUE,
-				 LayersFactory.eINSTANCE.createFontInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.PROPERTY__DEFAULT_VALUE,
 				 LayersFactory.eINSTANCE.createCSSInstance()));
 
 		newChildDescriptors.add
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FillPropertySetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyOperatorInstanceItemProvider.java
similarity index 63%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FillPropertySetterItemProvider.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyOperatorInstanceItemProvider.java
index 3cbe6eb..7e126f1 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/FillPropertySetterItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyOperatorInstanceItemProvider.java
@@ -20,24 +20,38 @@
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
 
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.common.util.ResourceLocator;
 
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillPropertySetter;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 
 /**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillPropertySetter} object.
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperatorInstance} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class FillPropertySetterItemProvider extends PropertySetterItemProvider {
+public class PropertyOperatorInstanceItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public FillPropertySetterItemProvider(AdapterFactory adapterFactory) {
+	public PropertyOperatorInstanceItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -57,14 +71,24 @@
 	}
 
 	/**
-	 * This returns FillPropertySetter.gif.
+	 * This returns PropertyOperatorInstance.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/FillPropertySetter")); //$NON-NLS-1$
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/PropertyOperatorInstance")); //$NON-NLS-1$
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
 	}
 
 	/**
@@ -75,12 +99,9 @@
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((FillPropertySetter)object).getPropertyName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_FillPropertySetter_type") : //$NON-NLS-1$
-			getString("_UI_FillPropertySetter_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+		return getString("_UI_PropertyOperatorInstance_type"); //$NON-NLS-1$
 	}
-	
+
 
 	/**
 	 * This handles model notifications by calling {@link #updateChildren} to update any cached
@@ -107,4 +128,15 @@
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 	}
 
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyOperatorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyOperatorItemProvider.java
index 8fe8d0f..0d2115f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyOperatorItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyOperatorItemProvider.java
@@ -23,6 +23,7 @@
 import org.eclipse.emf.common.util.ResourceLocator;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -72,6 +73,9 @@
 			super.getPropertyDescriptors(object);
 
 			addNamePropertyDescriptor(object);
+			addClassnamePropertyDescriptor(object);
+			addOperatorInstancePropertyDescriptor(object);
+			addClassBundleIDPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -99,6 +103,72 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Classname feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addClassnamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_PropertyOperator_classname_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_PropertyOperator_classname_feature", "_UI_PropertyOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 LayersPackage.Literals.PROPERTY_OPERATOR__CLASSNAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Operator Instance feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOperatorInstancePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_PropertyOperator_operatorInstance_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_PropertyOperator_operatorInstance_feature", "_UI_PropertyOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 LayersPackage.Literals.PROPERTY_OPERATOR__OPERATOR_INSTANCE,
+				 true,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Class Bundle ID feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addClassBundleIDPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_PropertyOperator_classBundleID_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_PropertyOperator_classBundleID_feature", "_UI_PropertyOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 LayersPackage.Literals.PROPERTY_OPERATOR__CLASS_BUNDLE_ID,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
 	 * This returns PropertyOperator.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -110,6 +180,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -137,6 +217,9 @@
 
 		switch (notification.getFeatureID(PropertyOperator.class)) {
 			case LayersPackage.PROPERTY_OPERATOR__NAME:
+			case LayersPackage.PROPERTY_OPERATOR__CLASSNAME:
+			case LayersPackage.PROPERTY_OPERATOR__OPERATOR_INSTANCE:
+			case LayersPackage.PROPERTY_OPERATOR__CLASS_BUNDLE_ID:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
 		}
@@ -163,7 +246,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyRegistryItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyRegistryItemProvider.java
index f9acf3d..c7531ee 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyRegistryItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertyRegistryItemProvider.java
@@ -25,6 +25,7 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -144,6 +145,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -209,7 +220,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertySetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertySetterItemProvider.java
index b1baf44..aac6f25 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertySetterItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertySetterItemProvider.java
@@ -23,6 +23,7 @@
 import org.eclipse.emf.common.util.ResourceLocator;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -122,6 +123,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -175,7 +186,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertySetterRegistryItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertySetterRegistryItemProvider.java
index 854014c..ea9f760 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertySetterRegistryItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/PropertySetterRegistryItemProvider.java
@@ -25,6 +25,7 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -142,6 +143,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -197,7 +208,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/RegExpLayerDescriptorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/RegExpLayerDescriptorItemProvider.java
deleted file mode 100755
index f3c0cdf..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/RegExpLayerDescriptorItemProvider.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayerDescriptor} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class RegExpLayerDescriptorItemProvider extends LayerDescriptorItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public RegExpLayerDescriptorItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns RegExpLayerDescriptor.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/RegExpLayerDescriptor")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		return getString("_UI_RegExpLayerDescriptor_type"); //$NON-NLS-1$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/RegExpLayerItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/RegExpLayerItemProvider.java
deleted file mode 100755
index 4df71d1..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/RegExpLayerItemProvider.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class RegExpLayerItemProvider extends AbstractLayerItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public RegExpLayerItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addExprPropertyDescriptor(object);
-			addLanguagePropertyDescriptor(object);
-			addIsDomainChangedEventDependantPropertyDescriptor(object);
-			addDomainChangedEventLevelPropertyDescriptor(object);
-			addIsDiagramChangedEventDependantPropertyDescriptor(object);
-			addDiagramChangedEventLevelPropertyDescriptor(object);
-			addExpressionContextObjectTypePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Expr feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addExprPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_RegExpLayer_expr_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_RegExpLayer_expr_feature", "_UI_RegExpLayer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.REG_EXP_LAYER__EXPR,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Language feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addLanguagePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_RegExpLayer_language_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_RegExpLayer_language_feature", "_UI_RegExpLayer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.REG_EXP_LAYER__LANGUAGE,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Is Domain Changed Event Dependant feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addIsDomainChangedEventDependantPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_RegExpLayer_isDomainChangedEventDependant_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_RegExpLayer_isDomainChangedEventDependant_feature", "_UI_RegExpLayer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Domain Changed Event Level feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addDomainChangedEventLevelPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_RegExpLayer_domainChangedEventLevel_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_RegExpLayer_domainChangedEventLevel_feature", "_UI_RegExpLayer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Is Diagram Changed Event Dependant feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addIsDiagramChangedEventDependantPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_RegExpLayer_isDiagramChangedEventDependant_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_RegExpLayer_isDiagramChangedEventDependant_feature", "_UI_RegExpLayer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Diagram Changed Event Level feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addDiagramChangedEventLevelPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_RegExpLayer_diagramChangedEventLevel_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_RegExpLayer_diagramChangedEventLevel_feature", "_UI_RegExpLayer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Expression Context Object Type feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addExpressionContextObjectTypePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_RegExpLayer_expressionContextObjectType_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_RegExpLayer_expressionContextObjectType_feature", "_UI_RegExpLayer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns RegExpLayer.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/RegExpLayer")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((RegExpLayer)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_RegExpLayer_type") : //$NON-NLS-1$
-			getString("_UI_RegExpLayer_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(RegExpLayer.class)) {
-			case LayersPackage.REG_EXP_LAYER__EXPR:
-			case LayersPackage.REG_EXP_LAYER__LANGUAGE:
-			case LayersPackage.REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT:
-			case LayersPackage.REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL:
-			case LayersPackage.REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT:
-			case LayersPackage.REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL:
-			case LayersPackage.REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/SimpleLayerDescriptorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/SimpleLayerDescriptorItemProvider.java
index 64eb611..f0fd380 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/SimpleLayerDescriptorItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/SimpleLayerDescriptorItemProvider.java
@@ -66,6 +66,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StackedLayerOperatorDescriptorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StackedLayerOperatorDescriptorItemProvider.java
index 133b525..79d1341 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StackedLayerOperatorDescriptorItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StackedLayerOperatorDescriptorItemProvider.java
@@ -68,6 +68,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StackedLayerOperatorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StackedLayerOperatorItemProvider.java
index bee6882..2cae259 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StackedLayerOperatorItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StackedLayerOperatorItemProvider.java
@@ -21,7 +21,8 @@
 import org.eclipse.emf.common.notify.Notification;
 
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator;
 
 /**
  * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator} object.
@@ -29,7 +30,7 @@
  * <!-- end-user-doc -->
  * @generated
  */
-public class StackedLayerOperatorItemProvider extends AbstractLayerOperatorItemProvider {
+public class StackedLayerOperatorItemProvider extends LayerOperatorItemProvider {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
@@ -67,34 +68,29 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	@Override
 	public String getText(Object object) {
-		// String label = ((StackedLayerOperator)object).getName();
-		// return label == null || label.length() == 0 ?
-		// getString("_UI_StackedLayerOperator_type") :
-		// getString("_UI_StackedLayerOperator_type") + " " + label;
-
-		// Actually, we use an StackedLayerOperator as a concrete class for every type of layer operator
-		// (to be changed))
-		AbstractLayerOperator layer = ((AbstractLayerOperator) object);
-		if (!layer.isDescriptorSet()) {
-			// Original behavior
-			String label = ((AbstractLayerOperator) object).getName();
-			return label == null || label.length() == 0 ? getString("_UI_AbstractLayerOperator_type") : getString("_UI_AbstractLayerOperator_type") + " " + label;
-		}
-
-		// Custom behavior
-		String label = layer.getName();
-		return label == null || label.length() == 0 ? getString("_UI_AbstractLayerOperator_type") : getString("_UI_AbstractLayerOperator_type") + " (" + layer.getLayerOperatorDescriptor().getName() + ") " + label;
-
+		String label = ((StackedLayerOperator)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_StackedLayerOperator_type") : //$NON-NLS-1$
+			getString("_UI_StackedLayerOperator_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
 	}
-
+	
 
 	/**
 	 * This handles model notifications by calling {@link #updateChildren} to update any cached
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringInstanceItemProvider.java
deleted file mode 100755
index 1a14125..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringInstanceItemProvider.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class StringInstanceItemProvider extends TypeInstanceItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public StringInstanceItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addValuePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Value feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addValuePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_StringInstance_value_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_StringInstance_value_feature", "_UI_StringInstance_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.STRING_INSTANCE__VALUE,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns StringInstance.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/StringInstance")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((StringInstance)object).getValue();
-		return label == null || label.length() == 0 ?
-			getString("_UI_StringInstance_type") : //$NON-NLS-1$
-			getString("_UI_StringInstance_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(StringInstance.class)) {
-			case LayersPackage.STRING_INSTANCE__VALUE:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToPropertyIndexMapItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToPropertyIndexMapItemProvider.java
index 8f91a06..01889f1 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToPropertyIndexMapItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToPropertyIndexMapItemProvider.java
@@ -26,6 +26,7 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -143,6 +144,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -202,7 +213,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToPropertySetterItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToPropertySetterItemProvider.java
index 751119d..a16f7c1 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToPropertySetterItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToPropertySetterItemProvider.java
@@ -26,6 +26,7 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -143,6 +144,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -191,41 +202,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.STRING_TO_PROPERTY_SETTER__VALUE,
-				 LayersFactory.eINSTANCE.createFillPropertySetter()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_PROPERTY_SETTER__VALUE,
-				 LayersFactory.eINSTANCE.createIsValidPropertySetter()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_PROPERTY_SETTER__VALUE,
 				 LayersFactory.eINSTANCE.createNullPropertySetter()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.STRING_TO_PROPERTY_SETTER__VALUE,
-				 LayersFactory.eINSTANCE.createLinePropertySetter()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_PROPERTY_SETTER__VALUE,
-				 LayersFactory.eINSTANCE.createFontPropertySetter()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_PROPERTY_SETTER__VALUE,
-				 LayersFactory.eINSTANCE.createIsVisiblePropertySetter()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_PROPERTY_SETTER__VALUE,
-				 LayersFactory.eINSTANCE.createIsAbstractUmlSetter()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_PROPERTY_SETTER__VALUE,
 				 LayersFactory.eINSTANCE.createCSSPropertySetter()));
 
 		newChildDescriptors.add
@@ -242,7 +223,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToTypeInstanceMapItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToTypeInstanceMapItemProvider.java
index fc48465..8741106 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToTypeInstanceMapItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToTypeInstanceMapItemProvider.java
@@ -26,6 +26,7 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -45,9 +46,9 @@
  * <!-- end-user-doc -->
  * @generated
  */
-public class StringToTypeInstanceMapItemProvider
-		extends ItemProviderAdapter
-		implements
+public class StringToTypeInstanceMapItemProvider 
+	extends ItemProviderAdapter
+	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
 		ITreeItemContentProvider,
@@ -143,22 +144,27 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	@Override
 	public String getText(Object object) {
-		Map.Entry<?, ?> stringToTypeInstanceMap = (Map.Entry<?, ?>) object;
-		// return "" + stringToTypeInstanceMap.getKey() + " -> " + stringToTypeInstanceMap.getValue();
-
-		// TypeInstance instance = (TypeInstance)stringToTypeInstanceMap.getValue();
-
-		return "Property '" + stringToTypeInstanceMap.getKey() + "'";
+		Map.Entry<?, ?> stringToTypeInstanceMap = (Map.Entry<?, ?>)object;
+		return "" + stringToTypeInstanceMap.getKey() + " -> " + stringToTypeInstanceMap.getValue(); //$NON-NLS-1$ //$NON-NLS-2$
 	}
-
+	
 
 	/**
 	 * This handles model notifications by calling {@link #updateChildren} to update any cached
@@ -196,46 +202,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.STRING_TO_TYPE_INSTANCE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createIntInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_INSTANCE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createBooleanInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_INSTANCE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createStringInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_INSTANCE_MAP__VALUE,
 				 LayersFactory.eINSTANCE.createNullInstance()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.STRING_TO_TYPE_INSTANCE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createColorInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_INSTANCE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createFillInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_INSTANCE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createLineInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_INSTANCE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createFontInstance()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_INSTANCE_MAP__VALUE,
 				 LayersFactory.eINSTANCE.createCSSInstance()));
 
 		newChildDescriptors.add
@@ -252,7 +223,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToTypeMapItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToTypeMapItemProvider.java
index d34a4be..08a4425 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToTypeMapItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringToTypeMapItemProvider.java
@@ -26,6 +26,7 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -143,6 +144,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -191,46 +202,6 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(LayersPackage.Literals.STRING_TO_TYPE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createIntType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createBooleanType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createStringType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createCustomType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createColor()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createFill()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createLineType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_MAP__VALUE,
-				 LayersFactory.eINSTANCE.createFontType()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(LayersPackage.Literals.STRING_TO_TYPE_MAP__VALUE,
 				 LayersFactory.eINSTANCE.createCSSType()));
 
 		newChildDescriptors.add
@@ -247,7 +218,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringTypeItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringTypeItemProvider.java
deleted file mode 100755
index beea40b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/StringTypeItemProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringType;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringType} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class StringTypeItemProvider extends TypeItemProvider {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public StringTypeItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This returns StringType.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/StringType")); //$NON-NLS-1$
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((StringType)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_StringType_type") : //$NON-NLS-1$
-			getString("_UI_StringType_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TopLayerOperatorDescriptorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TopLayerOperatorDescriptorItemProvider.java
index 0875921..1c9d356 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TopLayerOperatorDescriptorItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TopLayerOperatorDescriptorItemProvider.java
@@ -68,6 +68,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TopLayerOperatorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TopLayerOperatorItemProvider.java
index 3af1c2d..585793e 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TopLayerOperatorItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TopLayerOperatorItemProvider.java
@@ -30,7 +30,7 @@
  * <!-- end-user-doc -->
  * @generated
  */
-public class TopLayerOperatorItemProvider extends AbstractLayerOperatorItemProvider {
+public class TopLayerOperatorItemProvider extends LayerOperatorItemProvider {
 	/**
 	 * This constructs an instance from a factory and a notifier.
 	 * <!-- begin-user-doc -->
@@ -68,6 +68,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeInstanceItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeInstanceItemProvider.java
index b59e94d..cf99b90 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeInstanceItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeInstanceItemProvider.java
@@ -22,6 +22,7 @@
 
 import org.eclipse.emf.common.util.ResourceLocator;
 
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -71,6 +72,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -115,13 +126,12 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 	/**
+	 * @generated NOT
 	 *
-	 * @param object
-	 * @return
 	 */
 	protected String getInstancePropertyName(Object object) {
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeItemProvider.java
index 067a263..cc05fad 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeItemProvider.java
@@ -56,7 +56,6 @@
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addMetamodelPropertyDescriptor(object);
 			addNamePropertyDescriptor(object);
 			addDescriptionPropertyDescriptor(object);
 		}
@@ -64,28 +63,6 @@
 	}
 
 	/**
-	 * This adds a property descriptor for the Metamodel feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addMetamodelPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_Type_metamodel_feature"), //$NON-NLS-1$
-				 getString("_UI_PropertyDescriptor_description", "_UI_Type_metamodel_feature", "_UI_Type_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				 LayersPackage.Literals.TYPE__METAMODEL,
-				 true,
-				 false,
-				 true,
-				 null,
-				 null,
-				 null));
-	}
-
-	/**
 	 * This adds a property descriptor for the Name feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -130,6 +107,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeRegistryItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeRegistryItemProvider.java
index b0bd305..22f4d9a 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeRegistryItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/TypeRegistryItemProvider.java
@@ -24,6 +24,7 @@
 
 import org.eclipse.emf.ecore.EStructuralFeature;
 
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
@@ -118,6 +119,16 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean shouldComposeCreationImage() {
+		return true;
+	}
+
+	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -173,7 +184,7 @@
 	 */
 	@Override
 	public ResourceLocator getResourceLocator() {
-		return LayersEditPlugin.INSTANCE;
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/RegExpLayerItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/RegExpLayerItemProvider.java
deleted file mode 100755
index 45c7b85..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/RegExpLayerItemProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom;
-
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-
-/**
- * This is the item provider adapter for a {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class RegExpLayerItemProvider
-		extends AbstractLayerItemProvider
-		implements
-		IEditingDomainItemProvider,
-		IStructuredItemContentProvider,
-		ITreeItemContentProvider,
-		IItemLabelProvider,
-		IItemPropertySource {
-
-
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated
-	 */
-	public RegExpLayerItemProvider(AdapterFactory adapterFactory, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.RegExpLayerItemProvider extendedDelegate) {
-		super(adapterFactory, extendedDelegate);
-	}
-
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/AbstractLayerItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomAbstractLayerItemProvider.java
similarity index 86%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/AbstractLayerItemProvider.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomAbstractLayerItemProvider.java
index 5ca742d..9db324b 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/AbstractLayerItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomAbstractLayerItemProvider.java
@@ -26,7 +26,6 @@
 import org.eclipse.emf.edit.provider.ViewerNotification;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToTypeInstanceMapImpl;
 
 /**
@@ -34,9 +33,8 @@
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
- * @generated
  */
-public class AbstractLayerItemProvider
+public class CustomAbstractLayerItemProvider
 		extends org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.AbstractLayerItemProvider {
 	/**
 	 * The extended object, used as a delegate. This delegate is usually the original implementation
@@ -49,9 +47,8 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated
 	 */
-	public AbstractLayerItemProvider(AdapterFactory adapterFactory,
+	public CustomAbstractLayerItemProvider(AdapterFactory adapterFactory,
 			org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.AbstractLayerItemProvider extendedDelegate) {
 		super(adapterFactory);
 		this.extendedDelegate = extendedDelegate;
@@ -153,7 +150,6 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
@@ -165,7 +161,6 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated
 	 */
 	@Override
 	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
@@ -177,7 +172,6 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated
 	 */
 	@Override
 	public String getText(Object object) {
@@ -190,23 +184,10 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated
 	 */
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
-
-		switch (notification.getFeatureID(RegExpLayer.class)) {
-		case LayersPackage.REG_EXP_LAYER__EXPR:
-		case LayersPackage.REG_EXP_LAYER__LANGUAGE:
-		case LayersPackage.REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT:
-		case LayersPackage.REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL:
-		case LayersPackage.REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT:
-		case LayersPackage.REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL:
-		case LayersPackage.REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE:
-			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-			return;
-		}
 		super.notifyChanged(notification);
 	}
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/AllViewsDerivedLayerItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomAllViewsDerivedLayerItemProvider.java
similarity index 86%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/AllViewsDerivedLayerItemProvider.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomAllViewsDerivedLayerItemProvider.java
index b1139d1..6b570ee 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/AllViewsDerivedLayerItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomAllViewsDerivedLayerItemProvider.java
@@ -17,8 +17,8 @@
  *
  * @generated
  */
-public class AllViewsDerivedLayerItemProvider
-		extends AbstractLayerItemProvider
+public class CustomAllViewsDerivedLayerItemProvider
+		extends CustomAbstractLayerItemProvider
 		implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -32,7 +32,7 @@
 	 *
 	 * @generated
 	 */
-	public AllViewsDerivedLayerItemProvider(AdapterFactory adapterFactory,
+	public CustomAllViewsDerivedLayerItemProvider(AdapterFactory adapterFactory,
 			org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.AllViewsDerivedLayerItemProvider extendedDelegate) {
 		super(adapterFactory, extendedDelegate);
 	}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/LayerItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayerItemProvider.java
similarity index 91%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/LayerItemProvider.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayerItemProvider.java
index 0dad680..68ca694 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/LayerItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayerItemProvider.java
@@ -27,8 +27,8 @@
  *
  * @generated
  */
-public class LayerItemProvider
-		extends AbstractLayerItemProvider
+public class CustomLayerItemProvider
+		extends CustomAbstractLayerItemProvider
 		implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -42,7 +42,7 @@
 	 *
 	 * @generated
 	 */
-	public LayerItemProvider(AdapterFactory adapterFactory,
+	public CustomLayerItemProvider(AdapterFactory adapterFactory,
 			org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayerItemProvider extendedDelegate) {
 		super(adapterFactory, extendedDelegate);
 	}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayerNamedStyleItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayerNamedStyleItemProvider.java
new file mode 100755
index 0000000..3009b25
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayerNamedStyleItemProvider.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayerNamedStyleItemProvider;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomLayerNamedStyleItemProvider extends LayerNamedStyleItemProvider {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param adapterFactory
+	 */
+	public CustomLayerNamedStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 *
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection/* <Object> */ newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add(createChildParameter(LayersPackage.Literals.LAYER_NAMED_STYLE__LAYERS_STACK,
+				LayersFactory.eINSTANCE.createLayersStack()));
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersItemProviderAdapterFactory.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersItemProviderAdapterFactory.java
similarity index 67%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersItemProviderAdapterFactory.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersItemProviderAdapterFactory.java
index b3a850d..eb3b276 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersItemProviderAdapterFactory.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersItemProviderAdapterFactory.java
@@ -11,7 +11,13 @@
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom;
 
 import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.StackedLayerOperatorItemProvider;
 
 
 /**
@@ -28,7 +34,7 @@
  * </ul>
  *
  * <h2>Hierarchy of node</h2> By hierarchy, we mean classes with inheritance, with one common ancestor.
- * See {@link AbstractLayerItemProvider} as example.
+ * See {@link CustomAbstractLayerItemProvider} as example.
  * <ul>
  * <li>Create, in custom package, a new XxxItemProvider for the common ancestor, extending the original ItemProvider.</li>
  * <ul>
@@ -56,18 +62,8 @@
  */
 public class CustomLayersItemProviderAdapterFactory extends LayersItemProviderAdapterFactory {
 
-	protected LayerItemProvider layerItemProvider;
-	protected RegExpLayerItemProvider regExpLayerItemProvider;
-	protected AllViewsDerivedLayerItemProvider allViewsDerivedLayerItemProvider;
-
-	/**
-	 * Constructor.
-	 *
-	 */
-	public CustomLayersItemProviderAdapterFactory() {
-		// TODO Auto-generated constructor stub
-	}
-
+	protected CustomLayerItemProvider layerItemProvider;
+	protected CustomAllViewsDerivedLayerItemProvider allViewsDerivedLayerItemProvider;
 
 	/**
 	 *
@@ -78,7 +74,7 @@
 	@Override
 	public Adapter createLayersStackApplicationAdapter() {
 		if (layersStackApplicationItemProvider == null) {
-			layersStackApplicationItemProvider = new LayersStackApplicationItemProvider(this);
+			layersStackApplicationItemProvider = new CustomLayersStackApplicationItemProvider(this);
 		}
 
 		return layersStackApplicationItemProvider;
@@ -93,7 +89,7 @@
 	@Override
 	public Adapter createLayerAdapter() {
 		if (layerItemProvider == null) {
-			layerItemProvider = new LayerItemProvider(this,
+			layerItemProvider = new CustomLayerItemProvider(this,
 					(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayerItemProvider) super.createLayerAdapter());
 		}
 
@@ -102,22 +98,6 @@
 
 	/**
 	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory#createRegExpLayerAdapter()
-	 *
-	 * @return
-	 */
-	@Override
-	public Adapter createRegExpLayerAdapter() {
-		if (regExpLayerItemProvider == null) {
-			regExpLayerItemProvider = new RegExpLayerItemProvider(this,
-					(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.RegExpLayerItemProvider) super.createRegExpLayerAdapter());
-		}
-
-		return regExpLayerItemProvider;
-	}
-
-	/**
-	 *
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory#createAllViewsDerivedLayerAdapter()
 	 *
 	 * @return
@@ -125,7 +105,7 @@
 	@Override
 	public Adapter createAllViewsDerivedLayerAdapter() {
 		if (allViewsDerivedLayerItemProvider == null) {
-			allViewsDerivedLayerItemProvider = new AllViewsDerivedLayerItemProvider(this,
+			allViewsDerivedLayerItemProvider = new CustomAllViewsDerivedLayerItemProvider(this,
 					(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.AllViewsDerivedLayerItemProvider) super.createAllViewsDerivedLayerAdapter());
 		}
 
@@ -145,4 +125,55 @@
 	//
 	// return stringToTypeInstanceMapItemProvider;
 	// }
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory#createStackedLayerOperatorAdapter()
+	 *
+	 * @return
+	 */
+	@Override
+	public Adapter createStackedLayerOperatorAdapter() {
+		return new CustomStackedLayerOperatorItemProvider(this);
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory#createTopLayerOperatorAdapter()
+	 *
+	 * @return
+	 */
+	@Override
+	public Adapter createTopLayerOperatorAdapter() {
+		return new CustomTopLayerOperatorItemProvider(this);
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory#createLayerNamedStyleAdapter()
+	 *
+	 * @return
+	 */
+	@Override
+	public Adapter createLayerNamedStyleAdapter() {
+		return new CustomLayerNamedStyleItemProvider(this);
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory#createLayersStackAdapter()
+	 *
+	 * @return
+	 */
+	@Override
+	public Adapter createLayersStackAdapter() {
+		return new CustomLayersStackItemProvider(this);
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory#createStringToTypeInstanceMapAdapter()
+	 *
+	 * @return
+	 */
+	@Override
+	public Adapter createStringToTypeInstanceMapAdapter() {
+		return new CustomStringToTypeInstanceMapItemProvider(this);
+	}
+
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/LayersStackApplicationItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersStackApplicationItemProvider.java
similarity index 82%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/LayersStackApplicationItemProvider.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersStackApplicationItemProvider.java
index 5f6a8c8..d785353 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/LayersStackApplicationItemProvider.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersStackApplicationItemProvider.java
@@ -20,14 +20,14 @@
  * @author cedric dumoulin
  *
  */
-public class LayersStackApplicationItemProvider extends org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersStackApplicationItemProvider {
+public class CustomLayersStackApplicationItemProvider extends org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersStackApplicationItemProvider {
 
 	/**
 	 * Constructor.
 	 *
 	 * @param adapterFactory
 	 */
-	public LayersStackApplicationItemProvider(AdapterFactory adapterFactory) {
+	public CustomLayersStackApplicationItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersStackItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersStackItemProvider.java
new file mode 100755
index 0000000..9798b22
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomLayersStackItemProvider.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersStackItemProvider;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomLayersStackItemProvider extends LayersStackItemProvider {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param adapterFactory
+	 */
+	public CustomLayersStackItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public String getText(Object object) {
+		LayersStack stack = (LayersStack) object;
+		String label = ((LayersStack) object).getName();
+
+		if (label == null || label.length() == 0) {
+			try {
+				label = stack.getDiagram().getName();
+			} catch (NullPointerException e) {
+				return getString("_UI_LayersStack_type");
+			}
+		}
+
+		return "Stack " + label;
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomStackedLayerOperatorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomStackedLayerOperatorItemProvider.java
new file mode 100755
index 0000000..decb2ce
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomStackedLayerOperatorItemProvider.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.StackedLayerOperatorItemProvider;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomStackedLayerOperatorItemProvider extends StackedLayerOperatorItemProvider {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param adapterFactory
+	 */
+	public CustomStackedLayerOperatorItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	// /**
+	// * This returns the label text for the adapted class.
+	// * <!-- begin-user-doc -->
+	// * <!-- end-user-doc -->
+	// *
+	// */
+	// @Override
+	// public String getText(Object object) {
+	// String label = ((AbstractLayerOperator) object).getName();
+	// return label == null || label.length() == 0 ? getString("_UI_AbstractLayerOperator_type") : getString("_UI_AbstractLayerOperator_type") + " " + label;
+	// }
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public String getText(Object object) {
+		// String label = ((StackedLayerOperator)object).getName();
+		// return label == null || label.length() == 0 ?
+		// getString("_UI_StackedLayerOperator_type") :
+		// getString("_UI_StackedLayerOperator_type") + " " + label;
+
+		// Actually, we use an StackedLayerOperator as a concrete class for every type of layer operator
+		// (to be changed))
+		LayerOperator layer = ((LayerOperator) object);
+		if (!layer.isDescriptorSet()) {
+			// Original behavior
+			String label = ((LayerOperator) object).getName();
+			return label == null || label.length() == 0 ? getString("_UI_AbstractLayerOperator_type") : getString("_UI_AbstractLayerOperator_type") + " " + label;
+		}
+
+		// Custom behavior
+		String label = layer.getName();
+		return label == null || label.length() == 0 ? getString("_UI_AbstractLayerOperator_type") : getString("_UI_AbstractLayerOperator_type") + " (" + layer.getLayerOperatorDescriptorName() + ") " + label;
+
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomStringToTypeInstanceMapItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomStringToTypeInstanceMapItemProvider.java
new file mode 100755
index 0000000..74b104e
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomStringToTypeInstanceMapItemProvider.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.StringToTypeInstanceMapItemProvider;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomStringToTypeInstanceMapItemProvider extends StringToTypeInstanceMapItemProvider {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param adapterFactory
+	 */
+	public CustomStringToTypeInstanceMapItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public String getText(Object object) {
+		Map.Entry<?, ?> stringToTypeInstanceMap = (Map.Entry<?, ?>) object;
+		// return "" + stringToTypeInstanceMap.getKey() + " -> " + stringToTypeInstanceMap.getValue();
+
+		// TypeInstance instance = (TypeInstance)stringToTypeInstanceMap.getValue();
+
+		return "Property '" + stringToTypeInstanceMap.getKey() + "'";
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomTopLayerOperatorItemProvider.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomTopLayerOperatorItemProvider.java
new file mode 100755
index 0000000..6108641
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/provider/custom/CustomTopLayerOperatorItemProvider.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.TopLayerOperatorItemProvider;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomTopLayerOperatorItemProvider extends TopLayerOperatorItemProvider {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param adapterFactory
+	 */
+	public CustomTopLayerOperatorItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((LayerOperator) object).getName();
+		return label == null || label.length() == 0 ? getString("_UI_AbstractLayerOperator_type") : getString("_UI_AbstractLayerOperator_type") + " " + label;
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/.classpath b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/.classpath
index c1f3189..50aae14 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/.classpath
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/.classpath
@@ -1,7 +1,8 @@
 <?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.6"/>
+	<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-gen"/>
+	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/.settings/org.eclipse.jdt.core.prefs b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/.settings/org.eclipse.jdt.core.prefs
index 94d61f0..b3aa6d6 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/.settings/org.eclipse.jdt.core.prefs
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
 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.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.6
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/META-INF/MANIFEST.MF b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/META-INF/MANIFEST.MF
index f285e96..43da9c9 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/META-INF/MANIFEST.MF
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/META-INF/MANIFEST.MF
@@ -1,19 +1,19 @@
 Manifest-Version: 1.0
 Export-Package: org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.presentation,
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation,
- org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.presentation
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources;visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.layers.model.edit;visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.layers.model.edit;visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.layers.model;visibility:=reexport,
- org.eclipse.emf.ecore.xmi;visibility:=reexport,
- org.eclipse.emf.edit.ui;visibility:=reexport,
- org.eclipse.ui.ide;visibility:=reexport,
- org.eclipse.emf.ecore.edit;visibility:=reexport,
- org.eclipse.gmf.runtime.notation.edit;visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.css.model,
- org.eclipse.papyrus.infra.gmfdiag.css.model.edit;visibility:=reexport
+ org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.custom
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.15.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.model.edit;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.model.edit;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.model;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.15.0,3.0.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.15.0,3.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.14.0,4.0.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.11.0,3.0.0)",
+ org.eclipse.gmf.runtime.notation.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css.model;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css.model.edit;bundle-version="[1.3.0,2.0.0)"
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
 Bundle-ClassPath: .
@@ -23,4 +23,5 @@
 Bundle-ManifestVersion: 2
 Bundle-Activator: org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.LayersEditorPlugin$Implementation
 Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.layers.model.editor;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.papyrus.infra.gmfdiag.layers.model.editor
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/build.properties b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/build.properties
index ae68638..7f5d56b 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/build.properties
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/build.properties
@@ -7,6 +7,7 @@
                plugin.properties,\
                about.html
 jars.compile.order = .
-source.. = src-gen/
+source.. = src-gen/,\
+           src
 output.. = bin
 src.includes = about.html
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/plugin.xml b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/plugin.xml
index cda4f2d..de0a6ff 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/plugin.xml
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/plugin.xml
@@ -6,22 +6,6 @@
 
 <plugin>
 
-   <extension point="org.eclipse.ui.newWizards">
-      <!-- @generated layers -->
-      <category
-            id="org.eclipse.emf.ecore.Wizard.category.ID"
-            name="%_UI_Wizard_category"/>
-      <wizard
-            id="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.LayersModelWizardID"
-            name="%_UI_LayersModelWizard_label"
-            class="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.LayersModelWizard"
-            category="org.eclipse.emf.ecore.Wizard.category.ID"
-            icon="icons/full/obj16/LayersModelFile.gif">
-         <description>%_UI_LayersModelWizard_description</description>
-         <selection class="org.eclipse.core.resources.IResource"/>
-      </wizard>
-   </extension>
-
    <extension point="org.eclipse.ui.editors">
       <!-- @generated layers -->
       <editor
@@ -29,7 +13,7 @@
             name="%_UI_LayersEditor_label"
             icon="icons/full/obj16/LayersModelFile.gif"
             extensions="layers"
-            class="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.LayersEditor"
+            class="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.custom.CustomLayersEditor"
             contributorClass="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.LayersActionBarContributor">
       </editor>
    </extension>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/presentation/LayersConfigEditorPlugin.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/presentation/LayersConfigEditorPlugin.java
index d5e0dd2..4b27d82 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/presentation/LayersConfigEditorPlugin.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/presentation/LayersConfigEditorPlugin.java
@@ -20,7 +20,7 @@
 import org.eclipse.emf.common.util.ResourceLocator;
 
 /**
- * This is the central singleton for the Layersconfig editor plugin.
+ * This is the central singleton for the LayersConfig editor plugin.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/presentation/LayersConfigModelWizard.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/presentation/LayersConfigModelWizard.java
index fb95a2c..0a2e808 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/presentation/LayersConfigModelWizard.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/presentation/LayersConfigModelWizard.java
@@ -406,7 +406,8 @@
 		 * @generated
 		 */
 		public void createControl(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE); {
+			Composite composite = new Composite(parent, SWT.NONE);
+			{
 				GridLayout layout = new GridLayout();
 				layout.numColumns = 1;
 				layout.verticalSpacing = 12;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersActionBarContributor.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersActionBarContributor.java
index 9f917bd..ff95f24 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersActionBarContributor.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersActionBarContributor.java
@@ -176,6 +176,7 @@
 	 */
 	@Override
 	public void contributeToToolBar(IToolBarManager toolBarManager) {
+		super.contributeToToolBar(toolBarManager);
 		toolBarManager.add(new Separator("layers-settings")); //$NON-NLS-1$
 		toolBarManager.add(new Separator("layers-additions")); //$NON-NLS-1$
 	}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersEditor.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersEditor.java
index bf45370..485286d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersEditor.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersEditor.java
@@ -53,17 +53,13 @@
 
 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;
 
@@ -80,14 +76,10 @@
 
 import org.eclipse.swt.graphics.Point;
 
-import org.eclipse.swt.layout.FillLayout;
-
+import org.eclipse.swt.graphics.Rectangle;
 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;
@@ -121,7 +113,6 @@
 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;
 
@@ -131,6 +122,7 @@
 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;
 
@@ -182,8 +174,8 @@
  * @generated
  */
 public class LayersEditor
-		extends MultiPageEditorPart
-		implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+	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 -->
@@ -242,56 +234,6 @@
 	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 -->
@@ -338,7 +280,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected IPartListener partListener = new IPartListener() {
+	protected IPartListener partListener =
+		new IPartListener() {
 			public void partActivated(IWorkbenchPart p) {
 				if (p instanceof ContentOutline) {
 					if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
@@ -417,7 +360,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected EContentAdapter problemIndicationAdapter = new EContentAdapter() {
+	protected EContentAdapter problemIndicationAdapter =
+		new EContentAdapter() {
 			protected boolean dispatching;
 
 			@Override
@@ -477,7 +421,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() {
+	protected IResourceChangeListener resourceChangeListener =
+		new IResourceChangeListener() {
 			public void resourceChanged(IResourceChangeEvent event) {
 				IResourceDelta delta = event.getDelta();
 				try {
@@ -591,8 +536,9 @@
 	 */
 	protected void handleChangedResources() {
 		if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+			ResourceSet resourceSet = editingDomain.getResourceSet();
 			if (isDirty()) {
-				changedResources.addAll(editingDomain.getResourceSet().getResources());
+				changedResources.addAll(resourceSet.getResources());
 			}
 			editingDomain.getCommandStack().flush();
 
@@ -601,7 +547,7 @@
 				if (resource.isLoaded()) {
 					resource.unload();
 					try {
-						resource.load(Collections.EMPTY_MAP);
+						resource.load(resourceSet.getLoadOptions());
 					}
 					catch (IOException exception) {
 						if (!resourceToDiagnosticMap.containsKey(resource)) {
@@ -762,7 +708,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
+			@Override
 	protected void firePropertyChange(int action) {
 		super.firePropertyChange(action);
 	}
@@ -800,7 +746,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EditingDomain getEditingDomain() {
 		return editingDomain;
 	}
@@ -865,21 +810,6 @@
 	}
 
 	/**
-	 * <!-- 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 -->
@@ -931,7 +861,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public Viewer getViewer() {
 		return currentViewer;
 	}
@@ -940,20 +869,16 @@
 	 * 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 NOT
+	 * @generated
 	 */
 	protected void createContextMenuFor(StructuredViewer viewer) {
-		MenuManager contextMenu = new MenuManager("#PopUp");
-		contextMenu.add(new Separator("additions"));
+		MenuManager contextMenu = new MenuManager("#PopUp"); //$NON-NLS-1$
+		contextMenu.add(new Separator("additions")); //$NON-NLS-1$
 		contextMenu.setRemoveAllWhenShown(true);
 		contextMenu.addMenuListener(this);
-		Menu menu = contextMenu.createContextMenu(viewer.getControl());
+		Menu menu= contextMenu.createContextMenu(viewer.getControl());
 		viewer.getControl().setMenu(menu);
-		// getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
-
-		String menuId = "org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.diagram.ui.contextmenu";
-		getSite().registerContextMenu(menuId, contextMenu, new UnwrappingSelectionProvider(viewer));
+		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() };
@@ -1039,210 +964,28 @@
 		if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
 			// Create a page for the selection tree view.
 			//
-			{
-				ViewerPane viewerPane =
-					new ViewerPane(getSite().getPage(), LayersEditor.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());
+			Tree tree = new Tree(getContainer(), SWT.MULTI);
+			selectionViewer = new TreeViewer(tree);
+			setCurrentViewer(selectionViewer);
 
-				selectionViewer = (TreeViewer)viewerPane.getViewer();
-				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
-				selectionViewer.setUseHashlookup(true);
+			selectionViewer.setUseHashlookup(true);
+			selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+			selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+			selectionViewer.setInput(editingDomain.getResourceSet());
+			selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
 
-				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);
 
-				new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
-
-				createContextMenuFor(selectionViewer);
-				int pageIndex = addPage(viewerPane.getControl());
-				setPageText(pageIndex, getString("_UI_SelectionPage_label")); //$NON-NLS-1$
-			}
-
-			// Create a page for the parent tree view.
-			//
-			{
-				ViewerPane viewerPane =
-					new ViewerPane(getSite().getPage(), LayersEditor.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")); //$NON-NLS-1$
-			}
-
-			// This is the page for the list viewer
-			//
-			{
-				ViewerPane viewerPane =
-					new ViewerPane(getSite().getPage(), LayersEditor.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")); //$NON-NLS-1$
-			}
-
-			// This is the page for the tree viewer
-			//
-			{
-				ViewerPane viewerPane =
-					new ViewerPane(getSite().getPage(), LayersEditor.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")); //$NON-NLS-1$
-			}
-
-			// This is the page for the table viewer.
-			//
-			{
-				ViewerPane viewerPane =
-					new ViewerPane(getSite().getPage(), LayersEditor.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")); //$NON-NLS-1$
-				objectColumn.setResizable(true);
-
-				TableColumn selfColumn = new TableColumn(table, SWT.NONE);
-				layout.addColumnData(new ColumnWeightData(2, 100, true));
-				selfColumn.setText(getString("_UI_SelfColumn_label")); //$NON-NLS-1$
-				selfColumn.setResizable(true);
-
-				tableViewer.setColumnProperties(new String [] {"a", "b"}); //$NON-NLS-1$ //$NON-NLS-2$
-				tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
-				tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
-				createContextMenuFor(tableViewer);
-				int pageIndex = addPage(viewerPane.getControl());
-				setPageText(pageIndex, getString("_UI_TablePage_label")); //$NON-NLS-1$
-			}
-
-			// This is the page for the table tree viewer.
-			//
-			{
-				ViewerPane viewerPane =
-					new ViewerPane(getSite().getPage(), LayersEditor.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")); //$NON-NLS-1$
-				objectColumn.setResizable(true);
-				objectColumn.setWidth(250);
-
-				TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
-				selfColumn.setText(getString("_UI_SelfColumn_label")); //$NON-NLS-1$
-				selfColumn.setResizable(true);
-				selfColumn.setWidth(200);
-
-				treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"}); //$NON-NLS-1$ //$NON-NLS-2$
-				treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
-				treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-
-				createContextMenuFor(treeViewerWithColumns);
-				int pageIndex = addPage(viewerPane.getControl());
-				setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); //$NON-NLS-1$
-			}
+			createContextMenuFor(selectionViewer);
+			int pageIndex = addPage(tree);
+			setPageText(pageIndex, getString("_UI_SelectionPage_label")); //$NON-NLS-1$
 
 			getSite().getShell().getDisplay().asyncExec
 				(new Runnable() {
 					 public void run() {
-						 setActivePage(0);
+						 if (!getContainer().isDisposed()) {
+							 setActivePage(0);
+						 }
 					 }
 				 });
 		}
@@ -1282,9 +1025,9 @@
 		if (getPageCount() <= 1) {
 			setPageText(0, ""); //$NON-NLS-1$
 			if (getContainer() instanceof CTabFolder) {
-				((CTabFolder)getContainer()).setTabHeight(1);
 				Point point = getContainer().getSize();
-				getContainer().setSize(point.x, point.y + 6);
+				Rectangle clientArea = getContainer().getClientArea();
+				getContainer().setSize(point.x,  2 * point.y - clientArea.height - clientArea.y);
 			}
 		}
 	}
@@ -1300,9 +1043,9 @@
 		if (getPageCount() > 1) {
 			setPageText(0, getString("_UI_SelectionPage_label")); //$NON-NLS-1$
 			if (getContainer() instanceof CTabFolder) {
-				((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
 				Point point = getContainer().getSize();
-				getContainer().setSize(point.x, point.y - 6);
+				Rectangle clientArea = getContainer().getClientArea();
+				getContainer().setSize(point.x, clientArea.height + clientArea.y);
 			}
 		}
 	}
@@ -1330,15 +1073,15 @@
 	 */
 	@SuppressWarnings("rawtypes")
 	@Override
-	public Object getAdapter(Class key) {
+	public <T> T getAdapter(Class<T> key) {
 		if (key.equals(IContentOutlinePage.class)) {
-			return showOutlineView() ? getContentOutlinePage() : null;
+			return showOutlineView() ? key.cast(getContentOutlinePage()) : null;
 		}
 		else if (key.equals(IPropertySheetPage.class)) {
-			return getPropertySheetPage();
+			return key.cast(getPropertySheetPage());
 		}
 		else if (key.equals(IGotoMarker.class)) {
-			return this;
+			return key.cast(this);
 		}
 		else {
 			return super.getAdapter(key);
@@ -1418,7 +1161,7 @@
 	 */
 	public IPropertySheetPage getPropertySheetPage() {
 		PropertySheetPage propertySheetPage =
-			new ExtendedPropertySheetPage(editingDomain) {
+			new ExtendedPropertySheetPage(editingDomain, ExtendedPropertySheetPage.Decoration.NONE, null, 0, false) {
 				@Override
 				public void setSelectionToViewer(List<?> selection) {
 					LayersEditor.this.setSelectionToViewer(selection);
@@ -1444,34 +1187,22 @@
 	 * @generated
 	 */
 	public void handleContentOutlineSelection(ISelection selection) {
-		if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+		if (selectionViewer != 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());
-					}
+				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);
-					}
-				}
+				// Set the selection to the widget.
+				//
+				selectionViewer.setSelection(new StructuredSelection(selectionList));
 			}
 		}
 	}
@@ -1625,7 +1356,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void gotoMarker(IMarker marker) {
 		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
 		if (!targetObjects.isEmpty()) {
@@ -1656,12 +1386,7 @@
 	 */
 	@Override
 	public void setFocus() {
-		if (currentViewerPane != null) {
-			currentViewerPane.setFocus();
-		}
-		else {
-			getControl(getActivePage()).setFocus();
-		}
+		getControl(getActivePage()).setFocus();
 	}
 
 	/**
@@ -1670,7 +1395,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void addSelectionChangedListener(ISelectionChangedListener listener) {
 		selectionChangedListeners.add(listener);
 	}
@@ -1681,7 +1405,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
 		selectionChangedListeners.remove(listener);
 	}
@@ -1692,7 +1415,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public ISelection getSelection() {
 		return editorSelection;
 	}
@@ -1704,7 +1426,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setSelection(ISelection selection) {
 		editorSelection = selection;
 
@@ -1774,7 +1495,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void menuAboutToShow(IMenuManager menuManager) {
 		((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
 	}
@@ -1843,6 +1563,6 @@
 	 * @generated
 	 */
 	protected boolean showOutlineView() {
-		return true;
+		return false;
 	}
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersModelWizard.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersModelWizard.java
deleted file mode 100755
index 98932c6..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/LayersModelWizard.java
+++ /dev/null
@@ -1,639 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersEditPlugin;
-
-
-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 LayersModelWizard 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(LayersEditorPlugin.INSTANCE.getString("_UI_LayersEditorFilenameExtensions").split("\\s*,\\s*"))); //$NON-NLS-1$ //$NON-NLS-2$
-
-	/**
-	 * A formatted list of supported file extensions, suitable for display.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public static final String FORMATTED_FILE_EXTENSIONS =
-		LayersEditorPlugin.INSTANCE.getString("_UI_LayersEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-	/**
-	 * This caches an instance of the model package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LayersPackage layersPackage = LayersPackage.eINSTANCE;
-
-	/**
-	 * This caches an instance of the model factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LayersFactory layersFactory = layersPackage.getLayersFactory();
-
-	/**
-	 * This is the file creation page.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LayersModelWizardNewFileCreationPage newFileCreationPage;
-
-	/**
-	 * This is the initial object creation page.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LayersModelWizardInitialObjectCreationPage 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(LayersEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); //$NON-NLS-1$
-		setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(LayersEditorPlugin.INSTANCE.getImage("full/wizban/NewLayers"))); //$NON-NLS-1$
-	}
-
-	/**
-	 * 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 : layersPackage.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)layersPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
-		EObject rootObject = layersFactory.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) {
-							LayersEditorPlugin.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(), LayersEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); //$NON-NLS-1$
-				return false;
-			}
-
-			return true;
-		}
-		catch (Exception exception) {
-			LayersEditorPlugin.INSTANCE.log(exception);
-			return false;
-		}
-	}
-
-	/**
-	 * This is the one page of the wizard.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public class LayersModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
-		/**
-		 * Pass in the selection.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		public LayersModelWizardNewFileCreationPage(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"; //$NON-NLS-1$ //$NON-NLS-2$
-					setErrorMessage(LayersEditorPlugin.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 LayersModelWizardInitialObjectCreationPage 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 LayersModelWizardInitialObjectCreationPage(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(LayersEditorPlugin.INSTANCE.getString("_UI_ModelObject")); //$NON-NLS-1$
-
-				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(LayersEditorPlugin.INSTANCE.getString("_UI_XMLEncoding")); //$NON-NLS-1$
-
-				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 LayersEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			catch(MissingResourceException mre) {
-				LayersEditorPlugin.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(LayersEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) //$NON-NLS-1$
-				{
-					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 LayersModelWizardNewFileCreationPage("Whatever", selection); //$NON-NLS-1$
-		newFileCreationPage.setTitle(LayersEditorPlugin.INSTANCE.getString("_UI_LayersModelWizard_label")); //$NON-NLS-1$
-		newFileCreationPage.setDescription(LayersEditorPlugin.INSTANCE.getString("_UI_LayersModelWizard_description")); //$NON-NLS-1$
-		newFileCreationPage.setFileName(LayersEditorPlugin.INSTANCE.getString("_UI_LayersEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0)); //$NON-NLS-1$ //$NON-NLS-2$
-		addPage(newFileCreationPage);
-
-		// Try and get the resource selection to determine a current directory for the file dialog.
-		//
-		if (selection != null && !selection.isEmpty()) {
-			// Get the resource...
-			//
-			Object selectedElement = selection.iterator().next();
-			if (selectedElement instanceof IResource) {
-				// Get the resource parent, if its a file.
-				//
-				IResource selectedResource = (IResource)selectedElement;
-				if (selectedResource.getType() == IResource.FILE) {
-					selectedResource = selectedResource.getParent();
-				}
-
-				// This gives us a directory...
-				//
-				if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
-					// Set this for the container.
-					//
-					newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
-
-					// Make up a unique new name here.
-					//
-					String defaultModelBaseFilename = LayersEditorPlugin.INSTANCE.getString("_UI_LayersEditorFilenameDefaultBase"); //$NON-NLS-1$
-					String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
-					String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension; //$NON-NLS-1$
-					for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
-						modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension; //$NON-NLS-1$
-					}
-					newFileCreationPage.setFileName(modelFilename);
-				}
-			}
-		}
-		initialObjectCreationPage = new LayersModelWizardInitialObjectCreationPage("Whatever2"); //$NON-NLS-1$
-		initialObjectCreationPage.setTitle(LayersEditorPlugin.INSTANCE.getString("_UI_LayersModelWizard_label")); //$NON-NLS-1$
-		initialObjectCreationPage.setDescription(LayersEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); //$NON-NLS-1$
-		addPage(initialObjectCreationPage);
-	}
-
-	/**
-	 * Get the file from the page.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IFile getModelFile() {
-		return newFileCreationPage.getModelFile();
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/custom/CustomLayersEditor.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/custom/CustomLayersEditor.java
new file mode 100755
index 0000000..ca6f291
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/presentation/custom/CustomLayersEditor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.custom;
+
+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.UnwrappingSelectionProvider;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.util.LocalSelectionTransfer;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.LayersEditor;
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.widgets.Menu;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomLayersEditor extends LayersEditor {
+
+	/**
+	 * 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 -->
+	 *
+	 */
+	@Override
+	protected void createContextMenuFor(StructuredViewer viewer) {
+		MenuManager contextMenu = new MenuManager("#PopUp"); //$NON-NLS-1$
+		contextMenu.add(new Separator("additions")); //$NON-NLS-1$
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+		Menu menu = contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		// getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+
+		String menuId = "org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.diagram.ui.contextmenu";
+		getSite().registerContextMenu(menuId, 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));
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/.classpath b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/.classpath
index c68522b..50aae14 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/.classpath
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<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-gen"/>
 	<classpathentry kind="src" path="src"/>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/.settings/org.eclipse.jdt.core.prefs b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/.settings/org.eclipse.jdt.core.prefs
index 94d61f0..b3aa6d6 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/.settings/org.eclipse.jdt.core.prefs
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
 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.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.6
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/META-INF/MANIFEST.MF b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/META-INF/MANIFEST.MF
index ea7d3d1..a5761f6 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/META-INF/MANIFEST.MF
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/META-INF/MANIFEST.MF
@@ -1,16 +1,16 @@
 Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime;resolution:=optional;x-installation:=greedy,
- org.eclipse.emf.ecore;visibility:=reexport,
- org.eclipse.gmf.runtime.notation;visibility:=reexport,
- org.eclipse.emf.ecore.xmi;bundle-version="2.9.0",
- org.eclipse.uml2.uml;bundle-version="4.1.0",
- org.eclipse.ocl.ecore;bundle-version="3.3.0",
- org.eclipse.emf.query.ocl;bundle-version="2.0.0",
+Require-Bundle: org.eclipse.core.runtime;resolution:=optional;x-installation:=greedy;bundle-version="[3.15.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.15.0,3.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.15.0,3.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.4.0,6.0.0)",
+ org.eclipse.ocl.ecore;bundle-version="[3.10.0,4.0.0)",
  com.google.guava;bundle-version="21.0.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.gmfdiag.css.model;bundle-version="1.2.0";visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.css,
- org.eclipse.papyrus.infra.gmfdiag.css.properties
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css.model;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[2.3.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css.properties;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.emf;bundle-version="[1.0.0,2.0.0)"
 Export-Package: org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig,
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl,
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.util,
@@ -18,8 +18,10 @@
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command,
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers,
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl,
+ org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom,
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.util,
- org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier
+ org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier,
+ org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
 Bundle-ClassPath: .
@@ -29,4 +31,5 @@
 Bundle-ManifestVersion: 2
 Bundle-Activator: org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator
 Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.layers.model;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.papyrus.infra.gmfdiag.layers.model
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.ecore b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.ecore
index f85ed10..6a923bc 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.ecore
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.ecore
@@ -211,31 +211,12 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//FolderElement">
     <eOperations name="createInstance" ordered="false" lowerBound="1" eType="#//TypeInstance"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="metamodel" ordered="false"
-        lowerBound="1" eType="#//Metamodel"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
         eType="#//String"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
         lowerBound="1" eType="#//String"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Metamodel" eSuperTypes="#//FolderElement">
-    <eOperations name="getEPackage" ordered="false" lowerBound="1" eType="#//EPackage"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
-        eType="#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
-        lowerBound="1" eType="#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsuri" ordered="false"
-        lowerBound="1" eType="#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="pluginID" ordered="false"
-        lowerBound="1" eType="#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ePackageInstanceName" ordered="false"
-        lowerBound="1" eType="#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTypeValid" ordered="false"
-        lowerBound="1" eType="#//boolean"/>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EDataType" name="String" instanceClassName="java.lang.String"/>
-  <eClassifiers xsi:type="ecore:EDataType" name="boolean" instanceClassName="boolean"/>
-  <eClassifiers xsi:type="ecore:EDataType" name="EPackage" instanceClassName="org.eclipse.emf.ecore.EPackage"/>
   <eClassifiers xsi:type="ecore:EClass" name="TypeInstance" abstract="true" eSuperTypes="#//ComputePropertyValueCommandItf">
     <eOperations name="setValueFromString" ordered="false" lowerBound="1">
       <eParameters name="value" ordered="false" lowerBound="1" eType="#//String"/>
@@ -339,7 +320,7 @@
       <eParameters name="operatorName" ordered="false" lowerBound="1" eType="#//String"/>
       <eParameters name="layerDescriptorName" ordered="false" lowerBound="1" eType="#//String"/>
     </eOperations>
-    <eOperations name="createLayerOperator" ordered="false" lowerBound="1" eType="#//AbstractLayerOperator"
+    <eOperations name="createLayerOperator" ordered="false" lowerBound="1" eType="#//LayerOperator"
         eExceptions="#//LayersException">
       <eParameters name="layerOperatorID" ordered="false" lowerBound="1" eType="#//String"/>
     </eOperations>
@@ -350,7 +331,7 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="propertyCollectionSize"
         ordered="false" lowerBound="1" eType="#//int"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="defaultOperator" ordered="false"
-        lowerBound="1" eType="#//DefaultPropertyOperator" changeable="false" transient="true"/>
+        lowerBound="1" eType="#//PropertyOperator" changeable="false" transient="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="LayerOperatorDescriptor">
     <eOperations name="getPropertyOperator" ordered="false" lowerBound="1" eType="#//PropertyOperator"
@@ -361,10 +342,10 @@
       <eParameters name="property" ordered="false" lowerBound="1" eType="#//Property"/>
       <eParameters name="operator" ordered="false" lowerBound="1" eType="#//PropertyOperator"/>
     </eOperations>
-    <eOperations name="createLayerOperator" ordered="false" lowerBound="1" eType="#//AbstractLayerOperator"/>
+    <eOperations name="createLayerOperator" ordered="false" lowerBound="1" eType="#//LayerOperator"/>
     <eOperations name="setPropertyCollectionSize" ordered="false" lowerBound="1">
       <eParameters name="size" ordered="false" lowerBound="1" eType="#//int"/>
-      <eParameters name="defaultPropertyOperator" ordered="false" lowerBound="1" eType="#//DefaultPropertyOperator"/>
+      <eParameters name="defaultPropertyOperator" ordered="false" lowerBound="1" eType="#//PropertyOperator"/>
     </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="propertyOperators" upperBound="-1"
         eType="#//PropertyOperator" transient="true"/>
@@ -376,22 +357,26 @@
         eType="#//ComputePropertyValueCommand" eExceptions="#//LayersException">
       <eParameters name="property" upperBound="-1" eType="#//ComputePropertyValueCommand"/>
     </eOperations>
+    <eOperations name="resetOperatorInstance" ordered="false" lowerBound="1" eExceptions="#//LayersException"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
         eType="#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classname" ordered="false"
+        lowerBound="1" eType="#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="operatorInstance" ordered="false"
+        lowerBound="1" eType="#//PropertyOperator"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classBundleID" ordered="false"
+        lowerBound="1" eType="#//String"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EDataType" name="ComputePropertyValueCommand" instanceClassName="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand"/>
-  <eClassifiers xsi:type="ecore:EClass" name="AbstractLayerOperator" abstract="true"
-      eSuperTypes="#//LayerOperator">
+  <eClassifiers xsi:type="ecore:EClass" name="LayerOperator" abstract="true" eSuperTypes="#//LayerExpression #//LayersContainer">
     <eOperations name="isDescriptorSet" ordered="false" lowerBound="1" eType="#//boolean"/>
     <eOperations name="resetDescriptor" ordered="false" lowerBound="1"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="layerOperatorDescriptor"
-        ordered="false" lowerBound="1" eType="#//LayerOperatorDescriptor" transient="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="layerOperatorDescriptorName"
-        ordered="false" lowerBound="1" eType="#//String"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="LayerOperator" abstract="true" eSuperTypes="#//LayerExpression #//LayersContainer">
     <eStructuralFeatures xsi:type="ecore:EReference" name="layers" upperBound="-1"
         eType="#//LayerExpression" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="layerOperatorDescriptorName"
+        ordered="false" lowerBound="1" eType="#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="layerOperatorDescriptor"
+        ordered="false" lowerBound="1" eType="#//LayerOperatorDescriptor"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="LayersContainer" abstract="true" interface="true">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -401,7 +386,7 @@
       <eParameters name="layer" ordered="false" lowerBound="1" eType="#//LayerExpression"/>
     </eOperations>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="DefaultPropertyOperator" eSuperTypes="#//PropertyOperator"/>
+  <eClassifiers xsi:type="ecore:EDataType" name="boolean" instanceClassName="boolean"/>
   <eClassifiers xsi:type="ecore:EEnum" name="LayerState">
     <eLiterals name="detached"/>
     <eLiterals name="attached" value="1"/>
@@ -445,29 +430,25 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
         eType="#//String"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="Object" instanceClassName="java.lang.Object"/>
-  <eClassifiers xsi:type="ecore:EClass" name="IntInstance" eSuperTypes="#//TypeInstance">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
-        lowerBound="1" eType="#//int"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="BooleanInstance" eSuperTypes="#//TypeInstance">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+  <eClassifiers xsi:type="ecore:EClass" name="Metamodel" eSuperTypes="#//FolderElement">
+    <eOperations name="getEPackage" ordered="false" lowerBound="1" eType="#//EPackage"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+        eType="#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
+        lowerBound="1" eType="#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsuri" ordered="false"
+        lowerBound="1" eType="#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="pluginID" ordered="false"
+        lowerBound="1" eType="#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ePackageInstanceName" ordered="false"
+        lowerBound="1" eType="#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTypeValid" ordered="false"
         lowerBound="1" eType="#//boolean"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="StringInstance" eSuperTypes="#//TypeInstance">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
-        lowerBound="1" eType="#//String"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="IntType" eSuperTypes="#//Type"/>
-  <eClassifiers xsi:type="ecore:EClass" name="BooleanType" eSuperTypes="#//Type"/>
-  <eClassifiers xsi:type="ecore:EClass" name="StringType" eSuperTypes="#//Type"/>
-  <eClassifiers xsi:type="ecore:EClass" name="CustomType" eSuperTypes="#//Type">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classifier" ordered="false"
-        lowerBound="1" eType="#//String"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TopLayerOperator" eSuperTypes="#//AbstractLayerOperator"/>
-  <eClassifiers xsi:type="ecore:EClass" name="StackedLayerOperator" eSuperTypes="#//AbstractLayerOperator"/>
-  <eClassifiers xsi:type="ecore:EClass" name="CustomLayerOperator" eSuperTypes="#//LayerOperator"/>
+  <eClassifiers xsi:type="ecore:EDataType" name="EPackage" instanceClassName="org.eclipse.emf.ecore.EPackage"/>
+  <eClassifiers xsi:type="ecore:EDataType" name="Object" instanceClassName="java.lang.Object"/>
+  <eClassifiers xsi:type="ecore:EClass" name="TopLayerOperator" eSuperTypes="#//LayerOperator"/>
+  <eClassifiers xsi:type="ecore:EClass" name="StackedLayerOperator" eSuperTypes="#//LayerOperator"/>
   <eClassifiers xsi:type="ecore:EClass" name="PropertyIndex">
     <eStructuralFeatures xsi:type="ecore:EReference" name="property" ordered="false"
         lowerBound="1" eType="#//Property"/>
@@ -481,103 +462,17 @@
         eType="#//String"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="SimpleLayerDescriptor" eSuperTypes="#//LayerDescriptor"/>
-  <eClassifiers xsi:type="ecore:EClass" name="RegExpLayerDescriptor" eSuperTypes="#//LayerDescriptor"/>
   <eClassifiers xsi:type="ecore:EClass" name="NullInstance" eSuperTypes="#//TypeInstance">
     <eOperations name="getInstance" ordered="false" lowerBound="1" eType="#//NullInstance"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="RegExpLayer" eSuperTypes="#//AbstractLayer">
-    <eOperations name="activate" ordered="false" lowerBound="1">
-      <eParameters name="newParentLayer" ordered="false" lowerBound="1" eType="#//AbstractLayerOperator"/>
-    </eOperations>
-    <eOperations name="deactivate" ordered="false" lowerBound="1">
-      <eParameters name="oldParentLayer" ordered="false" lowerBound="1" eType="#//AbstractLayerOperator"/>
-    </eOperations>
-    <eOperations name="isDerivedView" ordered="false" lowerBound="1" eType="#//boolean"
-        eExceptions="#//LayersException">
-      <eParameters name="view" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.ecore#//View"/>
-    </eOperations>
-    <eOperations name="attachDerivedView" ordered="false" lowerBound="1" eExceptions="#//LayersException">
-      <eParameters name="view" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.ecore#//View"/>
-    </eOperations>
-    <eOperations name="attachDerivedViews" ordered="false" lowerBound="1" eExceptions="#//LayersException">
-      <eParameters name="views" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.ecore#//View"/>
-    </eOperations>
-    <eOperations name="attachDerivedViews" ordered="false" lowerBound="1" eExceptions="#//LayersException"/>
-    <eOperations name="lookupDerivedViews" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.ecore#//View"
-        eExceptions="#//LayersException">
-      <eParameters name="views" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.gmf.runtime.notation/model/notation.ecore#//View"/>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="expr" ordered="false" lowerBound="1"
-        eType="#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" ordered="false"
-        lowerBound="1" eType="#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDomainChangedEventDependant"
-        ordered="false" lowerBound="1" eType="#//boolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="domainChangedEventLevel"
-        ordered="false" lowerBound="1" eType="#//EventLevel"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDiagramChangedEventDependant"
-        ordered="false" lowerBound="1" eType="#//boolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="diagramChangedEventLevel"
-        ordered="false" lowerBound="1" eType="#//EventLevel"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="expressionContextObjectType"
-        ordered="false" lowerBound="1" eType="#//String"/>
-  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Layer" eSuperTypes="#//AbstractLayer"/>
+  <eClassifiers xsi:type="ecore:EClass" name="NullPropertySetter" eSuperTypes="#//PropertySetter"/>
+  <eClassifiers xsi:type="ecore:EClass" name="TopLayerOperatorDescriptor" eSuperTypes="#//LayerOperatorDescriptor"/>
+  <eClassifiers xsi:type="ecore:EClass" name="StackedLayerOperatorDescriptor" eSuperTypes="#//LayerOperatorDescriptor"/>
   <eClassifiers xsi:type="ecore:EEnum" name="EventLevel">
     <eLiterals name="level1"/>
     <eLiterals name="allLevels" value="-1"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Layer" eSuperTypes="#//AbstractLayer"/>
-  <eClassifiers xsi:type="ecore:EClass" name="Color" eSuperTypes="#//Type"/>
-  <eClassifiers xsi:type="ecore:EClass" name="ColorInstance" eSuperTypes="#//TypeInstance">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
-        lowerBound="1" eType="#//int"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="FillInstance" eSuperTypes="#//TypeInstance">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="transparency" ordered="false"
-        lowerBound="1" eType="#//int"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="fillColor" ordered="false"
-        lowerBound="1" eType="#//ColorInstance" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Fill" eSuperTypes="#//Type"/>
-  <eClassifiers xsi:type="ecore:EClass" name="FillPropertySetter" eSuperTypes="#//PropertySetter"/>
-  <eClassifiers xsi:type="ecore:EClass" name="IsValidPropertySetter" eSuperTypes="#//PropertySetter"/>
-  <eClassifiers xsi:type="ecore:EClass" name="NullPropertySetter" eSuperTypes="#//PropertySetter"/>
-  <eClassifiers xsi:type="ecore:EClass" name="LineType" eSuperTypes="#//Type"/>
-  <eClassifiers xsi:type="ecore:EClass" name="LineInstance" eSuperTypes="#//TypeInstance">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lineColor" ordered="false"
-        lowerBound="1" eType="#//int"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lineWith" ordered="false"
-        lowerBound="1" eType="#//int"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="LinePropertySetter" eSuperTypes="#//PropertySetter"/>
-  <eClassifiers xsi:type="ecore:EClass" name="FontPropertySetter" eSuperTypes="#//PropertySetter"/>
-  <eClassifiers xsi:type="ecore:EClass" name="FontInstance" eSuperTypes="#//TypeInstance">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontColor" ordered="false"
-        lowerBound="1" eType="#//int" defaultValueLiteral="15053796"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontName" ordered="false"
-        lowerBound="1" eType="#//String" defaultValueLiteral="Segoe UI"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontHeigh" ordered="false"
-        lowerBound="1" eType="#//int" defaultValueLiteral="9"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="bold" ordered="false" lowerBound="1"
-        eType="#//boolean" defaultValueLiteral="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="FontType" eSuperTypes="#//Type"/>
-  <eClassifiers xsi:type="ecore:EClass" name="IsVisiblePropertySetter" eSuperTypes="#//PropertySetter"/>
-  <eClassifiers xsi:type="ecore:EClass" name="TopLayerOperatorDescriptor" eSuperTypes="#//LayerOperatorDescriptor"/>
-  <eClassifiers xsi:type="ecore:EClass" name="StackedLayerOperatorDescriptor" eSuperTypes="#//LayerOperatorDescriptor"/>
-  <eClassifiers xsi:type="ecore:EClass" name="CustomPropertyOperator" eSuperTypes="#//PropertyOperator">
-    <eOperations name="resetOperatorInstance" ordered="false" lowerBound="1" eExceptions="#//LayersException"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classname" ordered="false"
-        lowerBound="1" eType="#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operatorInstance" ordered="false"
-        lowerBound="1" eType="#//CustomPropertyOpertorInstance"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="classBundleID" ordered="false"
-        lowerBound="1" eType="#//String"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="CustomPropertyOpertorInstance" instanceClassName="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance"/>
-  <eClassifiers xsi:type="ecore:EClass" name="AndStackedLayerOperatorDescriptor" eSuperTypes="#//StackedLayerOperatorDescriptor"/>
-  <eClassifiers xsi:type="ecore:EClass" name="OrStackedLayerOperatorDescriptor" eSuperTypes="#//StackedLayerOperatorDescriptor"/>
-  <eClassifiers xsi:type="ecore:EClass" name="IsAbstractUmlSetter" eSuperTypes="#//PropertySetter"/>
   <eClassifiers xsi:type="ecore:EClass" name="AllViewsDerivedLayer" eSuperTypes="#//AbstractLayer"/>
   <eClassifiers xsi:type="ecore:EClass" name="CSSPropertySetter" eSuperTypes="#//PropertySetter"/>
   <eClassifiers xsi:type="ecore:EClass" name="CSSType" eSuperTypes="#//Type"/>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.genmodel b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.genmodel
index fc13522..76b31bb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.genmodel
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.genmodel
@@ -2,12 +2,12 @@
 <genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
     copyrightText="Copyright (c) 2013, 2017 CEA LIST &amp; LIFL &#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA;  Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation&#xD;&#xA;  Quentin Le Menez quentin.lemenez@cea.fr&#xD;&#xA;"
-    modelDirectory="/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen" editDirectory="/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen"
-    editorDirectory="org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen"
+    modelDirectory="/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen" creationIcons="false"
+    editDirectory="/org.eclipse.papyrus.infra.gmfdiag.layers.model.edit/src-gen" editorDirectory="org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen"
     modelPluginID="org.eclipse.papyrus.infra.gmfdiag.layers.model" modelName="Layers"
     editPluginClass="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersEditPlugin"
     editorPluginClass="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.presentation.LayersEditorPlugin"
-    nonNLSMarkers="true" testsDirectory="/org.eclipse.papyrus.infra.gmfdiag.layers.model.tests/src-gen"
+    nonNLSMarkers="true" suppressEMFTypes="true" testsDirectory="/org.eclipse.papyrus.infra.gmfdiag.layers.model.tests/src-gen"
     testSuiteClass="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.tests.LayersAllTests"
     importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="6.0" copyrightFields="false"
     providerRootExtendsClass="" editPluginID="org.eclipse.papyrus.infra.gmfdiag.layers.model.edit"
@@ -39,7 +39,9 @@
   </genAnnotations>
   <foreignModel>layers.uml</foreignModel>
   <genPackages xsi:type="genmodel:GenPackage" prefix="Layers" basePackage="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model"
-      disposableProviderFactory="true" ecorePackage="layers.ecore#/">
+      disposableProviderFactory="true" generateExampleClass="false" multipleEditorPages="false"
+      generateModelWizard="false" extensibleProviderFactory="true" childCreationExtenders="true"
+      ecorePackage="layers.ecore#/">
     <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="layers.ecore#//LayerState">
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="layers.ecore#//LayerState/detached"/>
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="layers.ecore#//LayerState/attached"/>
@@ -49,15 +51,14 @@
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="layers.ecore#//EventLevel/allLevels"/>
     </genEnums>
     <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//String"/>
-    <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//boolean"/>
-    <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//EPackage"/>
     <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//LayersException"/>
     <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//int"/>
     <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//BadStateException"/>
     <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//NotFoundException"/>
     <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//ComputePropertyValueCommand"/>
+    <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//boolean"/>
+    <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//EPackage"/>
     <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//Object"/>
-    <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="layers.ecore#//CustomPropertyOpertorInstance"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//LayerNamedStyle">
       <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
           createChild="true" ecoreFeature="ecore:EReference layers.ecore#//LayerNamedStyle/layersStack"/>
@@ -185,21 +186,10 @@
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//Property/createInstance"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="layers.ecore#//Type">
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference layers.ecore#//Type/metamodel"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Type/name"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Type/description"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//Type/createInstance"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//Metamodel">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/name"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/description"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/nsuri"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/pluginID"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/ePackageInstanceName"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/isTypeValid"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//Metamodel/getEPackage"/>
-    </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="layers.ecore#//TypeInstance">
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//TypeInstance/setValueFromString">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//TypeInstance/setValueFromString/value"/>
@@ -311,27 +301,28 @@
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//PropertyOperator">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//PropertyOperator/name"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//PropertyOperator/classname"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EReference layers.ecore#//PropertyOperator/operatorInstance"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//PropertyOperator/classBundleID"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//PropertyOperator/getComputePropertyValueCommand">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//PropertyOperator/getComputePropertyValueCommand/property"/>
       </genOperations>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="layers.ecore#//AbstractLayerOperator">
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference layers.ecore#//AbstractLayerOperator/layerOperatorDescriptor"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//AbstractLayerOperator/layerOperatorDescriptorName"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//AbstractLayerOperator/isDescriptorSet"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//AbstractLayerOperator/resetDescriptor"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//PropertyOperator/resetOperatorInstance"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="layers.ecore#//LayerOperator">
       <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
           createChild="true" ecoreFeature="ecore:EReference layers.ecore#//LayerOperator/layers"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//LayerOperator/layerOperatorDescriptorName"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference layers.ecore#//LayerOperator/layerOperatorDescriptor"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayerOperator/isDescriptorSet"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayerOperator/resetDescriptor"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="layers.ecore#//LayersContainer">
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayersContainer/addLayer">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayersContainer/addLayer/layer"/>
       </genOperations>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//DefaultPropertyOperator"/>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="layers.ecore#//AbstractLayer">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference layers.ecore#//AbstractLayer/propertyValues"/>
@@ -366,24 +357,17 @@
           createChild="true" ecoreFeature="ecore:EReference layers.ecore#//Folder/elements"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Folder/name"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//IntInstance">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//IntInstance/value"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//BooleanInstance">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//BooleanInstance/value"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//StringInstance">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//StringInstance/value"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//IntType"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//BooleanType"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//StringType"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//CustomType">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//CustomType/classifier"/>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//Metamodel">
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/name"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/description"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/nsuri"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/pluginID"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/ePackageInstanceName"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//Metamodel/isTypeValid"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//Metamodel/getEPackage"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//TopLayerOperator"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//StackedLayerOperator"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//CustomLayerOperator"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//PropertyIndex">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference layers.ecore#//PropertyIndex/property"/>
@@ -395,78 +379,13 @@
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//StringToPropertyIndexMap/key"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//SimpleLayerDescriptor"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//RegExpLayerDescriptor"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//NullInstance">
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//NullInstance/getInstance"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//RegExpLayer">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//RegExpLayer/expr"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//RegExpLayer/language"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//RegExpLayer/isDomainChangedEventDependant"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//RegExpLayer/domainChangedEventLevel"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//RegExpLayer/isDiagramChangedEventDependant"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//RegExpLayer/diagramChangedEventLevel"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//RegExpLayer/expressionContextObjectType"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//RegExpLayer/activate">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//RegExpLayer/activate/newParentLayer"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//RegExpLayer/deactivate">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//RegExpLayer/deactivate/oldParentLayer"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//RegExpLayer/isDerivedView">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//RegExpLayer/isDerivedView/view"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//RegExpLayer/attachDerivedView">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//RegExpLayer/attachDerivedView/view"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//RegExpLayer/attachDerivedViews">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//RegExpLayer/attachDerivedViews/views"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//RegExpLayer/attachDerivedViews.1"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//RegExpLayer/lookupDerivedViews">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//RegExpLayer/lookupDerivedViews/views"/>
-      </genOperations>
-    </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//Layer"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//Color"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//ColorInstance">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//ColorInstance/value"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//FillInstance">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//FillInstance/transparency"/>
-      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
-          createChild="true" ecoreFeature="ecore:EReference layers.ecore#//FillInstance/fillColor"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//Fill"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//FillPropertySetter"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//IsValidPropertySetter"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//NullPropertySetter"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//LineType"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//LineInstance">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//LineInstance/lineColor"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//LineInstance/lineWith"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//LinePropertySetter"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//FontPropertySetter"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//FontInstance">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//FontInstance/fontColor"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//FontInstance/fontName"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//FontInstance/fontHeigh"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//FontInstance/bold"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//FontType"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//IsVisiblePropertySetter"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//TopLayerOperatorDescriptor"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//StackedLayerOperatorDescriptor"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//CustomPropertyOperator">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//CustomPropertyOperator/classname"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//CustomPropertyOperator/operatorInstance"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//CustomPropertyOperator/classBundleID"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//CustomPropertyOperator/resetOperatorInstance"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//AndStackedLayerOperatorDescriptor"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//OrStackedLayerOperatorDescriptor"/>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//IsAbstractUmlSetter"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//AllViewsDerivedLayer"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//CSSPropertySetter"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="layers.ecore#//CSSType"/>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.notation b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.notation
index 9e2ee84..8ceeae0 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.notation
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.notation
@@ -546,27 +546,27 @@
       <element xmi:type="uml:Class" href="layers.uml#_T5we4AkdEeOnVqX9VcfeWQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-jCeEQw_EeOjX-JbGFEH7w" x="440" y="520" width="221"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_L2tYYK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_L2tYYa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_L2t_cK5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_7mzZc72jEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7mzZdL2jEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7m5gEL2jEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="notation/notation.uml#_AziHercnEeKeLJDBCBPhPw"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L2tYYq5qEeeUVoYywick3g" x="230" y="-24"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7mzZdb2jEeiAtaR2zBJhAQ" x="1300" y="20"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_L5veQK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_L5veQa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_L5veQ65qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_7pKJ4L2jEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_7pKJ4b2jEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7pKJ472jEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="notation/notation.uml#_AziHhrcnEeKeLJDBCBPhPw"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L5veQq5qEeeUVoYywick3g" x="860" y="384"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7pKJ4r2jEeiAtaR2zBJhAQ" x="1740" y="380"/>
     </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_mmXS0bcqEeK8_t7Rpq6ZJA"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_K_Yu0K5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_K_xJUK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_K_xJUK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     <edges xmi:type="notation:Connector" xmi:id="_0PIOkLcqEeK8_t7Rpq6ZJA" type="Generalization_Edge" source="_yPB_ELcqEeK8_t7Rpq6ZJA" target="_xbaJwLcqEeK8_t7Rpq6ZJA" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_0PIOk7cqEeK8_t7Rpq6ZJA" type="Generalization_StereotypeLabel">
@@ -931,25 +931,25 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FEh1IAxAEeOjX-JbGFEH7w" id="(0.3091557669441142,1.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FEh1IQxAEeOjX-JbGFEH7w" id="(0.36199095022624433,0.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_L2t_ca5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_xbaJwLcqEeK8_t7Rpq6ZJA" target="_L2tYYK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_L2t_cq5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_L2umgq5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_7m5gEb2jEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_xbaJwLcqEeK8_t7Rpq6ZJA" target="_7mzZc72jEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_7m5gEr2jEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7m5gFr2jEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="notation/notation.uml#_AziHercnEeKeLJDBCBPhPw"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_L2t_c65qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L2umgK5qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L2umga5qEeeUVoYywick3g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7m5gE72jEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7m5gFL2jEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7m5gFb2jEeiAtaR2zBJhAQ"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_L5veRK5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_di3-ENkhEeKQqZMBCFd2Uw" target="_L5veQK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_L5veRa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_L5veSa5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_7pKw8L2jEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_di3-ENkhEeKQqZMBCFd2Uw" target="_7pKJ4L2jEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_7pKw8b2jEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7pKw9b2jEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="notation/notation.uml#_AziHhrcnEeKeLJDBCBPhPw"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_L5veRq5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L5veR65qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L5veSK5qEeeUVoYywick3g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7pKw8r2jEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7pKw872jEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7pKw9L2jEeiAtaR2zBJhAQ"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_y-BQANa7EeKPiuTfpuvqHA" type="PapyrusUMLClassDiagram" name="LayersExpression" measurementUnit="Pixel">
@@ -1279,41 +1279,6 @@
       <element xmi:type="uml:Class" href="layers.uml#_HoKjcNjjEeKQqZMBCFd2Uw"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hoi98djjEeKQqZMBCFd2Uw" x="360" y="480" width="121" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_WunlMNjjEeKQqZMBCFd2Uw" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wutr0NjjEeKQqZMBCFd2Uw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wutr0djjEeKQqZMBCFd2Uw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wutr0tjjEeKQqZMBCFd2Uw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wutr09jjEeKQqZMBCFd2Uw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wutr1NjjEeKQqZMBCFd2Uw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Wutr1djjEeKQqZMBCFd2Uw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Wutr1tjjEeKQqZMBCFd2Uw" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Wutr19jjEeKQqZMBCFd2Uw" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Wutr2NjjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Wutr2djjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Wutr2tjjEeKQqZMBCFd2Uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wutr29jjEeKQqZMBCFd2Uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Wutr3NjjEeKQqZMBCFd2Uw" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Wutr3djjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Wutr3tjjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Wutr39jjEeKQqZMBCFd2Uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wutr4NjjEeKQqZMBCFd2Uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Wutr4djjEeKQqZMBCFd2Uw" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Wutr4tjjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Wutr49jjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Wutr5NjjEeKQqZMBCFd2Uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wutr5djjEeKQqZMBCFd2Uw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LL3rpq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LL3rp65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_WuVRUNjjEeKQqZMBCFd2Uw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WunlMdjjEeKQqZMBCFd2Uw" x="440" y="660" width="161" height="101"/>
-    </children>
     <children xmi:type="notation:Shape" xmi:id="_gqpJcNjjEeKQqZMBCFd2Uw" type="Class_Shape" fontName="Segoe UI" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gqvQENjjEeKQqZMBCFd2Uw" source="ShadowFigure">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gqvQEdjjEeKQqZMBCFd2Uw" key="ShadowFigure_Value" value="false"/>
@@ -1347,7 +1312,7 @@
         <layoutConstraint xmi:type="notation:Location" xmi:id="_LL3rqa5qEeeUVoYywick3g" y="5"/>
       </children>
       <element xmi:type="uml:Class" href="layers.uml#_gqW1kNjjEeKQqZMBCFd2Uw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gqpJcdjjEeKQqZMBCFd2Uw" x="580" y="820" width="101" height="101"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gqpJcdjjEeKQqZMBCFd2Uw" x="460" y="660" width="101" height="101"/>
     </children>
     <children xmi:type="notation:Shape" xmi:id="_wpUMoNjjEeKQqZMBCFd2Uw" type="Class_Shape" fontName="Segoe UI" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wpUMotjjEeKQqZMBCFd2Uw" source="ShadowFigure">
@@ -1382,42 +1347,7 @@
         <layoutConstraint xmi:type="notation:Location" xmi:id="_LL3rq65qEeeUVoYywick3g" y="5"/>
       </children>
       <element xmi:type="uml:Class" href="layers.uml#_wpB4wNjjEeKQqZMBCFd2Uw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wpUModjjEeKQqZMBCFd2Uw" x="360" y="820" width="161" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_1xfAUNjjEeKQqZMBCFd2Uw" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xfnYNjjEeKQqZMBCFd2Uw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xfnYdjjEeKQqZMBCFd2Uw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xgOcNjjEeKQqZMBCFd2Uw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xgOcdjjEeKQqZMBCFd2Uw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xgOctjjEeKQqZMBCFd2Uw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1xgOc9jjEeKQqZMBCFd2Uw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_1xgOdNjjEeKQqZMBCFd2Uw" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_1xgOddjjEeKQqZMBCFd2Uw" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1xgOdtjjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_1xgOd9jjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_1xgOeNjjEeKQqZMBCFd2Uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xgOedjjEeKQqZMBCFd2Uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_1xgOetjjEeKQqZMBCFd2Uw" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1xgOe9jjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_1xgOfNjjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_1xgOfdjjEeKQqZMBCFd2Uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xgOftjjEeKQqZMBCFd2Uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_1xgOf9jjEeKQqZMBCFd2Uw" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_1xgOgNjjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_1xgOgdjjEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_1xgOgtjjEeKQqZMBCFd2Uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xgOg9jjEeKQqZMBCFd2Uw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LL3rrK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LL3rra5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_1xJCENjjEeKQqZMBCFd2Uw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xfAUdjjEeKQqZMBCFd2Uw" x="220" y="660" width="161" height="101"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wpUModjjEeKQqZMBCFd2Uw" x="240" y="660" width="161" height="101"/>
     </children>
     <children xmi:type="notation:Shape" xmi:id="_zT_qYNt5EeKwptaAAanMDg" type="Class_Shape" fontName="Segoe UI" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zT_qYtt5EeKwptaAAanMDg" source="ShadowFigure">
@@ -1454,97 +1384,6 @@
       <element xmi:type="uml:Class" href="layers.uml#_325AENt0EeKQqZMBCFd2Uw"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zT_qYdt5EeKwptaAAanMDg" x="680" y="20" width="241" height="81"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_z-jdcOHTEeKCZbxNW-U3VQ" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z-jdcuHTEeKCZbxNW-U3VQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z-jdc-HTEeKCZbxNW-U3VQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z-jddOHTEeKCZbxNW-U3VQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z-jddeHTEeKCZbxNW-U3VQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z-jdduHTEeKCZbxNW-U3VQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z-jdd-HTEeKCZbxNW-U3VQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_z-jdeOHTEeKCZbxNW-U3VQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_z-jdeeHTEeKCZbxNW-U3VQ" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_BnajsBZ1EeOZwp016gnCFQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_Bm93wBZ1EeOZwp016gnCFQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_BnajsRZ1EeOZwp016gnCFQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_FqR8MBZ1EeOZwp016gnCFQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_Fp_BQBZ1EeOZwp016gnCFQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FqR8MRZ1EeOZwp016gnCFQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_NA_bwFCkEeO_9LQ4jZWm3w" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_NAa0AFCkEeO_9LQ4jZWm3w"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_NA_bwVCkEeO_9LQ4jZWm3w"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_X_qIwVCkEeO_9LQ4jZWm3w" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_X_qIwFCkEeO_9LQ4jZWm3w"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_X_qIwlCkEeO_9LQ4jZWm3w"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_uJr68VCkEeO_9LQ4jZWm3w" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_uJr68FCkEeO_9LQ4jZWm3w"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_uJr68lCkEeO_9LQ4jZWm3w"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_y220sVCkEeO_9LQ4jZWm3w" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_y220sFCkEeO_9LQ4jZWm3w"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_y220slCkEeO_9LQ4jZWm3w"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_sPbYQVClEeO_9LQ4jZWm3w" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_sPbYQFClEeO_9LQ4jZWm3w"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sPbYQlClEeO_9LQ4jZWm3w"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z-jdeuHTEeKCZbxNW-U3VQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z-jde-HTEeKCZbxNW-U3VQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z-jdfOHTEeKCZbxNW-U3VQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-jdfeHTEeKCZbxNW-U3VQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_z-jdfuHTEeKCZbxNW-U3VQ" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_kKAqgBZ0EeOZwp016gnCFQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Operation" href="layers.uml#_kI0XsBZ0EeOZwp016gnCFQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kKAqgRZ0EeOZwp016gnCFQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_lphVcBZ0EeOZwp016gnCFQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Operation" href="layers.uml#_lpOagBZ0EeOZwp016gnCFQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_lphVcRZ0EeOZwp016gnCFQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_pKeTsBZ0EeOZwp016gnCFQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Operation" href="layers.uml#_pKKxsBZ0EeOZwp016gnCFQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_pKeTsRZ0EeOZwp016gnCFQ"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_KMaIAFVJEeOah7Z-UYdQAA" type="Operation_ClassOperationLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Operation" href="layers.uml#_EnH6gFVJEeOah7Z-UYdQAA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_KMaIAVVJEeOah7Z-UYdQAA" x="75" y="65"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_lLHxMFVJEeOah7Z-UYdQAA" type="Operation_ClassOperationLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Operation" href="layers.uml#_Y5m8QFVJEeOah7Z-UYdQAA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_lLHxMVVJEeOah7Z-UYdQAA" x="99" y="81"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_KnlysFVKEeOah7Z-UYdQAA" type="Operation_ClassOperationLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Operation" href="layers.uml#_m3jd0FVJEeOah7Z-UYdQAA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_KnlysVVKEeOah7Z-UYdQAA" x="112" y="101"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_ZojQcFVKEeOah7Z-UYdQAA" type="Operation_ClassOperationLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Operation" href="layers.uml#_Lwc4MFVKEeOah7Z-UYdQAA"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_ZojQcVVKEeOah7Z-UYdQAA" x="23" y="122"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z-jdf-HTEeKCZbxNW-U3VQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z-jdgOHTEeKCZbxNW-U3VQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z-jdgeHTEeKCZbxNW-U3VQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-jdguHTEeKCZbxNW-U3VQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_z-jdg-HTEeKCZbxNW-U3VQ" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z-jdhOHTEeKCZbxNW-U3VQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z-jdheHTEeKCZbxNW-U3VQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z-jdhuHTEeKCZbxNW-U3VQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-jdh-HTEeKCZbxNW-U3VQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LL45wq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LL45w65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_z9aN8OHTEeKCZbxNW-U3VQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-jdceHTEeKCZbxNW-U3VQ" x="1080" y="780" width="341" height="301"/>
-    </children>
     <children xmi:type="notation:Shape" xmi:id="__1eoIOHTEeKCZbxNW-U3VQ" type="Class_Shape" fontName="Segoe UI" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__1eoIuHTEeKCZbxNW-U3VQ" source="ShadowFigure">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__1eoI-HTEeKCZbxNW-U3VQ" key="ShadowFigure_Value" value="false"/>
@@ -1609,7 +1448,7 @@
         <layoutConstraint xmi:type="notation:Location" xmi:id="_LL45x65qEeeUVoYywick3g" y="5"/>
       </children>
       <element xmi:type="uml:Enumeration" href="layers.uml#_7cWpgFVHEeOah7Z-UYdQAA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7c7RQVVHEeOah7Z-UYdQAA" x="580" y="940" width="101" height="101"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7c7RQVVHEeOah7Z-UYdQAA" x="600" y="660" width="101" height="101"/>
     </children>
     <children xmi:type="notation:Shape" xmi:id="_ft-hUWtpEeOlpfB_tZS-QA" type="Class_Shape" fontName="Segoe UI" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ft-hU2tpEeOlpfB_tZS-QA" source="ShadowFigure">
@@ -1688,19 +1527,19 @@
       <element xmi:type="uml:Interface" href="layers.uml#_RopgYHpGEeOlpfB_tZS-QA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RopgYnpGEeOlpfB_tZS-QA" x="40" y="480" width="181" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_XUdOEK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_XUdOEa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XUdOE65qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_h-XxQL2kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_h-XxQb2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_h-YYUL2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="layers.uml#_vMMQsNjKEeKgkM6XJF9t4A"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XUdOEq5qEeeUVoYywick3g" x="1160" y="510"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_h-XxQr2kEeiAtaR2zBJhAQ" x="1700" y="660"/>
     </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_y-BQAda7EeKPiuTfpuvqHA"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LL2dgK5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LMZQEK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LMZQEK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     <edges xmi:type="notation:Connector" xmi:id="_5ZBIENa8EeKPiuTfpuvqHA" type="Association_Edge" source="_52F7ENa7EeKPiuTfpuvqHA" target="_AjwF4Na8EeKPiuTfpuvqHA" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_5ZKSANa8EeKPiuTfpuvqHA" visible="false" type="Association_StereotypeLabel">
@@ -1848,49 +1687,27 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OJm3MNjjEeKQqZMBCFd2Uw" id="(0.6611570247933884,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OJm3MdjjEeKQqZMBCFd2Uw" id="(0.27739251040221913,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_zMPcYNjjEeKQqZMBCFd2Uw" type="Generalization_Edge" source="_wpUMoNjjEeKQqZMBCFd2Uw" target="_WunlMNjjEeKQqZMBCFd2Uw" lineColor="0">
+    <edges xmi:type="notation:Connector" xmi:id="_zMPcYNjjEeKQqZMBCFd2Uw" type="Generalization_Edge" source="_wpUMoNjjEeKQqZMBCFd2Uw" target="_Hoi98NjjEeKQqZMBCFd2Uw" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_zMPcY9jjEeKQqZMBCFd2Uw" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_2j9gsK9fEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_zMPcZNjjEeKQqZMBCFd2Uw" x="1" y="38"/>
       </children>
       <styles xmi:type="notation:FontStyle" xmi:id="_zMPcYdjjEeKQqZMBCFd2Uw" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="layers.uml#_zL9IgNjjEeKQqZMBCFd2Uw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zMPcYtjjEeKQqZMBCFd2Uw" points="[420, 820, -643984, -643984]$[420, 800, -643984, -643984]$[500, 800, -643984, -643984]$[500, 761, -643984, -643984]"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zMPcYtjjEeKQqZMBCFd2Uw" points="[300, 660, -643984, -643984]$[300, 618, -643984, -643984]$[400, 618, -643984, -643984]$[400, 581, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zMVjANjjEeKQqZMBCFd2Uw" id="(0.37267080745341613,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zMVjAdjjEeKQqZMBCFd2Uw" id="(0.37267080745341613,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zMVjAdjjEeKQqZMBCFd2Uw" id="(0.3305785123966942,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_zpCtINjjEeKQqZMBCFd2Uw" type="Generalization_Edge" source="_gqpJcNjjEeKQqZMBCFd2Uw" target="_WunlMNjjEeKQqZMBCFd2Uw" lineColor="0">
+    <edges xmi:type="notation:Connector" xmi:id="_zpCtINjjEeKQqZMBCFd2Uw" type="Generalization_Edge" source="_gqpJcNjjEeKQqZMBCFd2Uw" target="_Hoi98NjjEeKQqZMBCFd2Uw" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_zpIzwNjjEeKQqZMBCFd2Uw" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3LxuoK9fEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_zpIzwdjjEeKQqZMBCFd2Uw" x="-1" y="37"/>
       </children>
       <styles xmi:type="notation:FontStyle" xmi:id="_zpCtIdjjEeKQqZMBCFd2Uw" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="layers.uml#_zoqSoNjjEeKQqZMBCFd2Uw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zpCtItjjEeKQqZMBCFd2Uw" points="[620, 820, -643984, -643984]$[620, 800, -643984, -643984]$[540, 800, -643984, -643984]$[540, 761, -643984, -643984]"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zpCtItjjEeKQqZMBCFd2Uw" points="[500, 660, -643984, -643984]$[500, 620, -643984, -643984]$[400, 620, -643984, -643984]$[420, 581, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zpIzwtjjEeKQqZMBCFd2Uw" id="(0.39603960396039606,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zpIzw9jjEeKQqZMBCFd2Uw" id="(0.6211180124223602,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_0mKcsNjjEeKQqZMBCFd2Uw" type="Generalization_Edge" source="_WunlMNjjEeKQqZMBCFd2Uw" target="_Hoi98NjjEeKQqZMBCFd2Uw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_0mLq0NjjEeKQqZMBCFd2Uw" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3A_a8K9fEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_0mLq0djjEeKQqZMBCFd2Uw" x="-1" y="38"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_0mKcsdjjEeKQqZMBCFd2Uw" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_0lwNANjjEeKQqZMBCFd2Uw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0mKcstjjEeKQqZMBCFd2Uw" points="[520, 640, -643984, -643984]$[520, 620, -643984, -643984]$[420, 620, -643984, -643984]$[420, 581, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0mOuINjjEeKQqZMBCFd2Uw" id="(0.4968944099378882,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0mPVMNjjEeKQqZMBCFd2Uw" id="(0.49586776859504134,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_4cX5QNjjEeKQqZMBCFd2Uw" type="Generalization_Edge" source="_1xfAUNjjEeKQqZMBCFd2Uw" target="_Hoi98NjjEeKQqZMBCFd2Uw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_4cX5Q9jjEeKQqZMBCFd2Uw" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3BdVAK9fEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_4cX5RNjjEeKQqZMBCFd2Uw" x="1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_4cX5QdjjEeKQqZMBCFd2Uw" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_4b_ewNjjEeKQqZMBCFd2Uw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4cX5QtjjEeKQqZMBCFd2Uw" points="[300, 640, -643984, -643984]$[300, 620, -643984, -643984]$[400, 620, -643984, -643984]$[400, 581, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4cd_4NjjEeKQqZMBCFd2Uw" id="(0.4968944099378882,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4cd_4djjEeKQqZMBCFd2Uw" id="(0.3305785123966942,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zpIzw9jjEeKQqZMBCFd2Uw" id="(0.3305785123966942,1.0)"/>
     </edges>
     <edges xmi:type="notation:Connector" xmi:id="_endM4NjnEeKQqZMBCFd2Uw" type="Association_Edge" source="_Hoi98NjjEeKQqZMBCFd2Uw" target="_9IsT4NjiEeKQqZMBCFd2Uw" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_endM49jnEeKQqZMBCFd2Uw" visible="false" type="Association_StereotypeLabel">
@@ -1934,17 +1751,6 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_18n5gNt5EeKwptaAAanMDg" id="(0.47156726768377255,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_18n5gdt5EeKwptaAAanMDg" id="(0.4979253112033195,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_R9IxEOHUEeKCZbxNW-U3VQ" type="Generalization_Edge" source="_z-jdcOHTEeKCZbxNW-U3VQ" target="_52F7ENa7EeKPiuTfpuvqHA" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_R9IxE-HUEeKCZbxNW-U3VQ" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_25z04K9fEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_R9IxFOHUEeKCZbxNW-U3VQ" y="39"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_R9IxEeHUEeKCZbxNW-U3VQ" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_R8qP8OHUEeKCZbxNW-U3VQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R9IxEuHUEeKCZbxNW-U3VQ" points="[1149, 801, -643984, -643984]$[936, 650, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R9O3sOHUEeKCZbxNW-U3VQ" id="(0.41055718475073316,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R9O3seHUEeKCZbxNW-U3VQ" id="(0.5673758865248227,1.0)"/>
-    </edges>
     <edges xmi:type="notation:Connector" xmi:id="_anKh8OHUEeKCZbxNW-U3VQ" type="Generalization_Edge" source="__1eoIOHTEeKCZbxNW-U3VQ" target="_52F7ENa7EeKPiuTfpuvqHA" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_anQokOHUEeKCZbxNW-U3VQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_3CDK4K9fEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
@@ -2038,15 +1844,15 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LMQtM65qEeeUVoYywick3g"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LMRUQK5qEeeUVoYywick3g"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_XUdOFK5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_vMekkNjKEeKgkM6XJF9t4A" target="_XUdOEK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_XUdOFa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XUd1Iq5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_h-YYUb2kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_vMekkNjKEeKgkM6XJF9t4A" target="_h-XxQL2kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_h-YYUr2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_h-YYVr2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="layers.uml#_vMMQsNjKEeKgkM6XJF9t4A"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XUdOFq5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XUd1IK5qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XUd1Ia5qEeeUVoYywick3g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_h-YYU72kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_h-YYVL2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_h-YYVb2kEeiAtaR2zBJhAQ"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_C_qusNa8EeKPiuTfpuvqHA" type="PapyrusUMLClassDiagram" name="property values" measurementUnit="Pixel">
@@ -2156,27 +1962,27 @@
       <element xmi:type="uml:Interface" href="layers.uml#_XZJOcO8UEeK0p4PkXjd-_Q"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XZo9se8UEeK0p4PkXjd-_Q" x="260" y="160" width="241" height="121"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_LPwGEK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_LPwGEa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LPzJYK5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Interface" href="layers.uml#_XZJOcO8UEeK0p4PkXjd-_Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPwGEq5qEeeUVoYywick3g" x="200" y="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_btyl065qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_btyl1K5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_btzM4K5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_iKbQT72kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iKbQUL2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iKbQUr2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_Qeyn4O7GEeK0p4PkXjd-_Q"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_btyl1a5qEeeUVoYywick3g" x="584" y="66"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iKbQUb2kEeiAtaR2zBJhAQ" x="240" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_iKtkMb2kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iKtkMr2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iKtkNL2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Interface" href="layers.uml#_XZJOcO8UEeK0p4PkXjd-_Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iKtkM72kEeiAtaR2zBJhAQ" x="460" y="160"/>
     </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_C_qusda8EeKPiuTfpuvqHA"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LPtCwK5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LP2MsK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LP2MsK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     <edges xmi:type="notation:Connector" xmi:id="_g3VDUO8YEeK0p4PkXjd-_Q" type="InterfaceRealization_Edge" source="_EH9zgNa8EeKPiuTfpuvqHA" target="_XZo9sO8UEeK0p4PkXjd-_Q" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_g3WRcO8YEeK0p4PkXjd-_Q" visible="false" type="InterfaceRealization_StereotypeLabel">
@@ -2193,25 +1999,25 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g3bJ8O8YEeK0p4PkXjd-_Q" id="(1.0,0.49586776859504134)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g3bJ8e8YEeK0p4PkXjd-_Q" id="(0.0,0.49586776859504134)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LPzJYa5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_XZo9sO8UEeK0p4PkXjd-_Q" target="_LPwGEK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_LPzJYq5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LPzJZq5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Interface" href="layers.uml#_XZJOcO8UEeK0p4PkXjd-_Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LPzJY65qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LPzJZK5qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LPzJZa5qEeeUVoYywick3g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_btzM4a5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_VpXS4O8UEeK0p4PkXjd-_Q" target="_btyl065qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_btzM4q5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_btzM5q5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_iKbQU72kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_VpXS4O8UEeK0p4PkXjd-_Q" target="_iKbQT72kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_iKbQVL2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iKhW4b2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_Qeyn4O7GEeK0p4PkXjd-_Q"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_btzM465qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_btzM5K5qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_btzM5a5qEeeUVoYywick3g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iKbQVb2kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iKbQVr2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iKhW4L2kEeiAtaR2zBJhAQ"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_iKtkNb2kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_XZo9sO8UEeK0p4PkXjd-_Q" target="_iKtkMb2kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_iKzqwL2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iKzqxL2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Interface" href="layers.uml#_XZJOcO8UEeK0p4PkXjd-_Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iKzqwb2kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iKzqwr2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iKzqw72kEeiAtaR2zBJhAQ"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_QLWs4Na8EeKPiuTfpuvqHA" type="PapyrusUMLClassDiagram" name="datatypes" measurementUnit="Pixel">
@@ -2389,119 +2195,119 @@
       <element xmi:type="uml:PrimitiveType" href="layers.uml#_Qeyn4O7GEeK0p4PkXjd-_Q"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QfRJAe7GEeK0p4PkXjd-_Q" x="360" y="180" width="241" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_LRucAq5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_LRucA65qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LRucBa5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_SuHkkNa8EeKPiuTfpuvqHA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LRucBK5qEeeUVoYywick3g" x="200" y="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_LRwROK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_LRwROa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LRwRO65qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_TqqsYNa8EeKPiuTfpuvqHA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LRwROq5qEeeUVoYywick3g" x="200" y="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_LRyGbK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_LRyGba5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LRyGb65qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_c1QNsNheEeKgkM6XJF9t4A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LRyGbq5qEeeUVoYywick3g" x="200" y="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_LR3l-K5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_LR3l-a5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LR3l-65qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_lVnFMNheEeKgkM6XJF9t4A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LR3l-q5qEeeUVoYywick3g" x="200" y="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_LR-Tpq5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_LR-Tp65qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LR-Tqa5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_Qeyn4O7GEeK0p4PkXjd-_Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LR-TqK5qEeeUVoYywick3g" x="200" y="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_b5NLoK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_b5NLoa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_b5NLo65qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_iT9my72kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iT9mzL2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iT9mzr2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b5NLoq5qEeeUVoYywick3g" x="236" y="30"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iT9mzb2kEeiAtaR2zBJhAQ" x="240" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_iUWBQL2kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iUWBQb2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iUWBQ72kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_SuHkkNa8EeKPiuTfpuvqHA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iUWBQr2kEeiAtaR2zBJhAQ" x="380" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_iUiOj72kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iUiOkL2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iUiOkr2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_TqqsYNa8EeKPiuTfpuvqHA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iUiOkb2kEeiAtaR2zBJhAQ" x="540" y="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_iU0ib72kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iU0icL2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iU0icr2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_c1QNsNheEeKgkM6XJF9t4A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iU0icb2kEeiAtaR2zBJhAQ" x="240" y="180"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_iVG2Q72kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iVG2RL2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iVG2Rr2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_lVnFMNheEeKgkM6XJF9t4A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVG2Rb2kEeiAtaR2zBJhAQ" x="400" y="180"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_iVTDib2kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iVTDir2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iVTDjL2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_Qeyn4O7GEeK0p4PkXjd-_Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iVTDi72kEeiAtaR2zBJhAQ" x="560" y="180"/>
     </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_QLWs4da8EeKPiuTfpuvqHA"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LRmgMK5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LSClEK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LSClEK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_LRucBq5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_SukQgNa8EeKPiuTfpuvqHA" target="_LRucAq5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_LRucB65qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LRvDEK5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_SuHkkNa8EeKPiuTfpuvqHA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LRucCK5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LRucCa5qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LRucCq5qEeeUVoYywick3g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LRw4QK5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_Tq9nUNa8EeKPiuTfpuvqHA" target="_LRwROK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_LRw4Qa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LRw4Ra5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_TqqsYNa8EeKPiuTfpuvqHA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LRw4Qq5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LRw4Q65qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LRw4RK5qEeeUVoYywick3g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LRytcK5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_c1uu0NheEeKgkM6XJF9t4A" target="_LRyGbK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_LRytca5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LR1wwK5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_c1QNsNheEeKgkM6XJF9t4A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LRytcq5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LRytc65qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LRytdK5qEeeUVoYywick3g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LR3l_K5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_lV_fsNheEeKgkM6XJF9t4A" target="_LR3l-K5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_LR3l_a5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LR6pQq5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_lVnFMNheEeKgkM6XJF9t4A"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LR3l_q5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LR6pQK5qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LR6pQa5qEeeUVoYywick3g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LR-Tqq5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_QfRJAO7GEeK0p4PkXjd-_Q" target="_LR-Tpq5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_LR-Tq65qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LR-Tr65qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_Qeyn4O7GEeK0p4PkXjd-_Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LR-TrK5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LR-Tra5qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LR-Trq5qEeeUVoYywick3g"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_b5NLpK5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_RJ_fYNa8EeKPiuTfpuvqHA" target="_b5NLoK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_b5NLpa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_b5NLqa5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_iT9mz72kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_RJ_fYNa8EeKPiuTfpuvqHA" target="_iT9my72kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_iT9m0L2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iT9m1L2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_b5NLpq5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b5NLp65qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b5NLqK5qEeeUVoYywick3g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iT9m0b2kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iT9m0r2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iT9m072kEeiAtaR2zBJhAQ"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_iUWBRL2kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_SukQgNa8EeKPiuTfpuvqHA" target="_iUWBQL2kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_iUWBRb2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iUWBSb2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_SuHkkNa8EeKPiuTfpuvqHA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iUWBRr2kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iUWBR72kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iUWBSL2kEeiAtaR2zBJhAQ"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_iUiOk72kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_Tq9nUNa8EeKPiuTfpuvqHA" target="_iUiOj72kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_iUiOlL2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iUiOmL2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_TqqsYNa8EeKPiuTfpuvqHA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iUiOlb2kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iUiOlr2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iUiOl72kEeiAtaR2zBJhAQ"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_iU0ic72kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_c1uu0NheEeKgkM6XJF9t4A" target="_iU0ib72kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_iU0idL2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iU0ieL2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_c1QNsNheEeKgkM6XJF9t4A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iU0idb2kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iU0idr2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iU0id72kEeiAtaR2zBJhAQ"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_iVG2R72kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_lV_fsNheEeKgkM6XJF9t4A" target="_iVG2Q72kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_iVG2SL2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iVG2TL2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_lVnFMNheEeKgkM6XJF9t4A"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iVG2Sb2kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iVG2Sr2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iVG2S72kEeiAtaR2zBJhAQ"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_iVTDjb2kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_QfRJAO7GEeK0p4PkXjd-_Q" target="_iVTDib2kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_iVTDjr2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_iVTDkr2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#_Qeyn4O7GEeK0p4PkXjd-_Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iVTDj72kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iVTDkL2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iVTDkb2kEeiAtaR2zBJhAQ"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_XXUswNhbEeKgkM6XJF9t4A" type="PapyrusUMLClassDiagram" name="Property" measurementUnit="Pixel">
@@ -2744,267 +2550,6 @@
       <element xmi:type="uml:Class" href="layers.uml#_ggM80NhbEeKgkM6XJF9t4A"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RF_msdhdEeKgkM6XJF9t4A" x="640" y="20" width="281"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_6SDikNhhEeKgkM6XJF9t4A" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6SDikthhEeKgkM6XJF9t4A" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6SDik9hhEeKgkM6XJF9t4A" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6SDilNhhEeKgkM6XJF9t4A" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6SDildhhEeKgkM6XJF9t4A" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6SDilthhEeKgkM6XJF9t4A" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6SDil9hhEeKgkM6XJF9t4A" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_6SDimNhhEeKgkM6XJF9t4A" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_6SDimdhhEeKgkM6XJF9t4A" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_HJqRsNhjEeKgkM6XJF9t4A" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_HJX90NhjEeKgkM6XJF9t4A"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_HJqRsdhjEeKgkM6XJF9t4A"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_6SDimthhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_6SDim9hhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_6SDinNhhEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6SDindhhEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_6SDinthhEeKgkM6XJF9t4A" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_6SDin9hhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_6SDioNhhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_6SDiodhhEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6SDiothhEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_6SDio9hhEeKgkM6XJF9t4A" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_6SDipNhhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_6SDipdhhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_6SDipthhEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6SDip9hhEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LS3Ecq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LS3Ec65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_6RrIENhhEeKgkM6XJF9t4A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6SDikdhhEeKgkM6XJF9t4A" x="280" y="720" width="121" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_-zGr4NhhEeKgkM6XJF9t4A" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-zGr4thhEeKgkM6XJF9t4A" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-zGr49hhEeKgkM6XJF9t4A" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-zGr5NhhEeKgkM6XJF9t4A" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-zGr5dhhEeKgkM6XJF9t4A" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-zGr5thhEeKgkM6XJF9t4A" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-zGr59hhEeKgkM6XJF9t4A" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_-zGr6NhhEeKgkM6XJF9t4A" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_-zGr6dhhEeKgkM6XJF9t4A" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_lMxgANhjEeKgkM6XJF9t4A" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_lMfMINhjEeKgkM6XJF9t4A"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_lMxgAdhjEeKgkM6XJF9t4A"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_-zGr6thhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_-zGr69hhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_-zGr7NhhEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-zGr7dhhEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_-zGr7thhEeKgkM6XJF9t4A" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_-zGr79hhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_-zGr8NhhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_-zGr8dhhEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-zGr8thhEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_-zGr89hhEeKgkM6XJF9t4A" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_-zGr9NhhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_-zGr9dhhEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_-zGr9thhEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-zGr99hhEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LS3EdK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LS3Eda5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_-yuRYNhhEeKgkM6XJF9t4A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-zGr4dhhEeKgkM6XJF9t4A" x="440" y="720" width="141" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_CxJOwNhiEeKgkM6XJF9t4A" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CxJOwthiEeKgkM6XJF9t4A" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CxJOw9hiEeKgkM6XJF9t4A" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CxJOxNhiEeKgkM6XJF9t4A" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CxJOxdhiEeKgkM6XJF9t4A" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CxJOxthiEeKgkM6XJF9t4A" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_CxJOx9hiEeKgkM6XJF9t4A" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_CxPVYNhiEeKgkM6XJF9t4A" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_CxPVYdhiEeKgkM6XJF9t4A" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_oRl74NhjEeKgkM6XJF9t4A" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_oRNhYNhjEeKgkM6XJF9t4A"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_oRl74dhjEeKgkM6XJF9t4A"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_CxPVYthiEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_CxPVY9hiEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_CxPVZNhiEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CxPVZdhiEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_CxPVZthiEeKgkM6XJF9t4A" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_CxPVZ9hiEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_CxPVaNhiEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_CxPVadhiEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CxPVathiEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_CxPVa9hiEeKgkM6XJF9t4A" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_CxPVbNhiEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_CxPVbdhiEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_CxPVbthiEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CxPVb9hiEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LS3Edq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LS3Ed65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_Cww0QNhiEeKgkM6XJF9t4A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CxJOwdhiEeKgkM6XJF9t4A" x="620" y="720" width="141" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_6xipANhjEeKgkM6XJF9t4A" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6xipAthjEeKgkM6XJF9t4A" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6xipA9hjEeKgkM6XJF9t4A" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6xipBNhjEeKgkM6XJF9t4A" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6xipBdhjEeKgkM6XJF9t4A" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6xipBthjEeKgkM6XJF9t4A" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6xipB9hjEeKgkM6XJF9t4A" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_6xipCNhjEeKgkM6XJF9t4A" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_6xipCdhjEeKgkM6XJF9t4A" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_6xipCthjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_6xipC9hjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_6xipDNhjEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6xipDdhjEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_6xipDthjEeKgkM6XJF9t4A" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_6xipD9hjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_6xipENhjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_6xipEdhjEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6xipEthjEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_6xipE9hjEeKgkM6XJF9t4A" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_6xipFNhjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_6xipFdhjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_6xipFthjEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6xipF9hjEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LS3EeK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LS3Eea5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_6xEH4NhjEeKgkM6XJF9t4A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6xipAdhjEeKgkM6XJF9t4A" x="440" y="420" width="101" height="81"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="__i1NwNhjEeKgkM6XJF9t4A" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__i7UYNhjEeKgkM6XJF9t4A" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__i7UYdhjEeKgkM6XJF9t4A" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__i7UYthjEeKgkM6XJF9t4A" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__i7UY9hjEeKgkM6XJF9t4A" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__i7UZNhjEeKgkM6XJF9t4A" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__i7UZdhjEeKgkM6XJF9t4A" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="__i7UZthjEeKgkM6XJF9t4A" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="__i7UZ9hjEeKgkM6XJF9t4A" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="__i7UaNhjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="__i7UadhjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="__i7UathjEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__i7Ua9hjEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="__i7UbNhjEeKgkM6XJF9t4A" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="__i7UbdhjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="__i7UbthjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="__i7Ub9hjEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__i7UcNhjEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="__i7UcdhjEeKgkM6XJF9t4A" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="__i7UcthjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="__i7Uc9hjEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="__i7UdNhjEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__i7UddhjEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LS3Eeq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LS3Ee65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#__iczQNhjEeKgkM6XJF9t4A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__i1NwdhjEeKgkM6XJF9t4A" x="560" y="420" width="101" height="81"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_E4NXANhkEeKgkM6XJF9t4A" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E4NXAthkEeKgkM6XJF9t4A" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E4NXA9hkEeKgkM6XJF9t4A" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E4NXBNhkEeKgkM6XJF9t4A" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E4NXBdhkEeKgkM6XJF9t4A" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_E4NXBthkEeKgkM6XJF9t4A" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_E4NXB9hkEeKgkM6XJF9t4A" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_E4NXCNhkEeKgkM6XJF9t4A" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_E4NXCdhkEeKgkM6XJF9t4A" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_E4NXCthkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_E4NXC9hkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_E4NXDNhkEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E4NXDdhkEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_E4NXDthkEeKgkM6XJF9t4A" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_E4NXD9hkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_E4NXENhkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_E4NXEdhkEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E4NXEthkEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_E4NXE9hkEeKgkM6XJF9t4A" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_E4NXFNhkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_E4NXFdhkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_E4NXFthkEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E4NXF9hkEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LS3EfK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LS3Efa5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_E308gNhkEeKgkM6XJF9t4A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E4NXAdhkEeKgkM6XJF9t4A" x="680" y="420" width="101" height="81"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_J6bTsNhkEeKgkM6XJF9t4A" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J6bTsthkEeKgkM6XJF9t4A" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J6bTs9hkEeKgkM6XJF9t4A" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J6bTtNhkEeKgkM6XJF9t4A" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J6bTtdhkEeKgkM6XJF9t4A" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_J6bTtthkEeKgkM6XJF9t4A" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J6bTt9hkEeKgkM6XJF9t4A" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_J6bTuNhkEeKgkM6XJF9t4A" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_J6bTudhkEeKgkM6XJF9t4A" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_U0-VsNhkEeKgkM6XJF9t4A" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_U0l7MNhkEeKgkM6XJF9t4A"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_U0-VsdhkEeKgkM6XJF9t4A"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_J6bTuthkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_J6bTu9hkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_J6bTvNhkEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J6bTvdhkEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_J6bTvthkEeKgkM6XJF9t4A" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_J6bTv9hkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_J6bTwNhkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_J6bTwdhkEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J6bTwthkEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_J6bTw9hkEeKgkM6XJF9t4A" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_J6bTxNhkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_J6bTxdhkEeKgkM6XJF9t4A"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_J6bTxthkEeKgkM6XJF9t4A"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J6bTx9hkEeKgkM6XJF9t4A"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LS3Efq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LS3Ef65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_J6C5MNhkEeKgkM6XJF9t4A"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J6bTsdhkEeKgkM6XJF9t4A" x="920" y="420" width="161" height="81"/>
-    </children>
     <children xmi:type="notation:Shape" xmi:id="_agYdYNxWEeKwptaAAanMDg" type="Class_Shape" fontName="Segoe UI" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_agekANxWEeKwptaAAanMDg" source="ShadowFigure">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_agekAdxWEeKwptaAAanMDg" key="ShadowFigure_Value" value="false"/>
@@ -3130,11 +2675,45 @@
       <element xmi:type="uml:Interface" href="pathmap://STYLESHEETS/StyleSheets.uml#_SV34ANBHEeeeIb5NcUL5SQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9I7T8dBYEee6_PI6xaXFIg" x="1020" y="640" width="101" height="101"/>
     </children>
+    <children xmi:type="notation:Shape" xmi:id="_jXGewKU6EeiVgsJY_OrQeg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_jXMlYKU6EeiVgsJY_OrQeg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_jXMlYaU6EeiVgsJY_OrQeg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_jXMlYqU6EeiVgsJY_OrQeg" y="15"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jXMlY6U6EeiVgsJY_OrQeg" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_pAQfoKU6EeiVgsJY_OrQeg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="layers.uml#_0Omb9HVZEeipp8d5W3Vl9g"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_pAQfoaU6EeiVgsJY_OrQeg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_pbr3YKU6EeiVgsJY_OrQeg" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="layers.uml#_0Omb9XVZEeipp8d5W3Vl9g"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_pbr3YaU6EeiVgsJY_OrQeg"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jXMlZKU6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jXMlZaU6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jXMlZqU6EeiVgsJY_OrQeg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jXMlZ6U6EeiVgsJY_OrQeg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jXMlaKU6EeiVgsJY_OrQeg" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jXMlaaU6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jXMlaqU6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jXMla6U6EeiVgsJY_OrQeg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jXMlbKU6EeiVgsJY_OrQeg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_jXMlbaU6EeiVgsJY_OrQeg" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_jXMlbqU6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_jXMlb6U6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_jXMlcKU6EeiVgsJY_OrQeg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jXMlcaU6EeiVgsJY_OrQeg"/>
+      </children>
+      <element xmi:type="uml:Class" href="layers.uml#_0Omb8nVZEeipp8d5W3Vl9g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jXGewaU6EeiVgsJY_OrQeg" x="420" y="720" width="181" height="101"/>
+    </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_XXUswdhbEeKgkM6XJF9t4A"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LS2dYK5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LS45oK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LS45oK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     <edges xmi:type="notation:Connector" xmi:id="_L2wXINhcEeKgkM6XJF9t4A" type="Association_Edge" source="_bHaTMNhbEeKgkM6XJF9t4A" target="_EoeLgNhcEeKgkM6XJF9t4A" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_L2wXI9hcEeKgkM6XJF9t4A" visible="false" type="Association_StereotypeLabel">
@@ -3198,37 +2777,6 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7nPQNhcEeKgkM6XJF9t4A" id="(0.4975124378109453,1.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O7nPQdhcEeKgkM6XJF9t4A" id="(0.4986149584487535,0.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_khaTANhcEeKgkM6XJF9t4A" type="Association_Edge" source="_J6bTsNhkEeKgkM6XJF9t4A" target="_I4Ip4NhcEeKgkM6XJF9t4A" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_khaTA9hcEeKgkM6XJF9t4A" visible="false" type="Association_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_aXJ0EK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_khaTBNhcEeKgkM6XJF9t4A" x="1" y="-18"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_khaTBdhcEeKgkM6XJF9t4A" visible="false" type="Association_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_aXkDwK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_khaTBthcEeKgkM6XJF9t4A" x="-1" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_khaTB9hcEeKgkM6XJF9t4A" visible="false" type="Association_TargetRoleLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_aYGPQK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_khaTCNhcEeKgkM6XJF9t4A" x="15" y="-17"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_khaTCdhcEeKgkM6XJF9t4A" type="Association_SourceRoleLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_aYXVAK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_khaTCthcEeKgkM6XJF9t4A" x="-26" y="19"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_khaTC9hcEeKgkM6XJF9t4A" visible="false" type="Association_SourceMultiplicityLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_aYuhYK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_khaTDNhcEeKgkM6XJF9t4A" x="13" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_khaTDdhcEeKgkM6XJF9t4A" type="Association_TargetMultiplicityLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_aZEfoK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_khaTDthcEeKgkM6XJF9t4A" x="-26" y="-15"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_khaTAdhcEeKgkM6XJF9t4A" fontName="Segoe UI"/>
-      <element xmi:type="uml:Association" href="layers.uml#_khB4gNhcEeKgkM6XJF9t4A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_khaTAthcEeKgkM6XJF9t4A" points="[1061, 440, -643984, -643984]$[1180, 440, -643984, -643984]$[1180, 381, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_khmgQNhcEeKgkM6XJF9t4A" id="(1.0,0.24691358024691357)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_khmgQdhcEeKgkM6XJF9t4A" id="(0.4979253112033195,1.0)"/>
-    </edges>
     <edges xmi:type="notation:Connector" xmi:id="_YRoG8NhdEeKgkM6XJF9t4A" type="Generalization_Edge" source="_bHaTMNhbEeKgkM6XJF9t4A" target="_RF_msNhdEeKgkM6XJF9t4A" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rVv64NW2EeeK7fKfT_QGQw" source="PapyrusCSSForceValue">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rVwh8NW2EeeK7fKfT_QGQw" key="routing" value="true"/>
@@ -3271,104 +2819,6 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7u0_ZdhdEeKgkM6XJF9t4A" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7u7GANhdEeKgkM6XJF9t4A" id="(0.498220640569395,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_g5zEYNhiEeKgkM6XJF9t4A" type="Generalization_Edge" source="_6SDikNhhEeKgkM6XJF9t4A" target="_bvJBkNhbEeKgkM6XJF9t4A" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l7Q9QNW4Eee0RrZFirrqqw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l7Q9QdW4Eee0RrZFirrqqw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_g5zEY9hiEeKgkM6XJF9t4A" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_aajGUK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_g5zEZNhiEeKgkM6XJF9t4A" x="427" y="-14"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_g5zEYdhiEeKgkM6XJF9t4A" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_g5ap4NhiEeKgkM6XJF9t4A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g5zEYthiEeKgkM6XJF9t4A" points="[340, 720, -643984, -643984]$[340, 680, -643984, -643984]$[240, 680, -643984, -643984]$[240, 641, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g55LANhiEeKgkM6XJF9t4A" id="(0.49586776859504134,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g55LAdhiEeKgkM6XJF9t4A" id="(0.4986149584487535,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_klsuYNhiEeKgkM6XJF9t4A" type="Generalization_Edge" source="_-zGr4NhhEeKgkM6XJF9t4A" target="_bvJBkNhbEeKgkM6XJF9t4A" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l7Q9QtW4Eee0RrZFirrqqw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l7Q9Q9W4Eee0RrZFirrqqw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_klsuY9hiEeKgkM6XJF9t4A" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_afAIgK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_klsuZNhiEeKgkM6XJF9t4A" x="421" y="-55"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_klsuYdhiEeKgkM6XJF9t4A" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_klghINhiEeKgkM6XJF9t4A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_klsuYthiEeKgkM6XJF9t4A" points="[500, 720, -643984, -643984]$[500, 680, -643984, -643984]$[240, 680, -643984, -643984]$[240, 641, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kly1ANhiEeKgkM6XJF9t4A" id="(0.425531914893617,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kly1AdhiEeKgkM6XJF9t4A" id="(0.4986149584487535,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mlyW0NhiEeKgkM6XJF9t4A" type="Generalization_Edge" source="_CxJOwNhiEeKgkM6XJF9t4A" target="_bvJBkNhbEeKgkM6XJF9t4A" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l7Q9RNW4Eee0RrZFirrqqw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l7Q9RdW4Eee0RrZFirrqqw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mlyW09hiEeKgkM6XJF9t4A" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_abMmkK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mlyW1NhiEeKgkM6XJF9t4A" x="415" y="-77"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mlyW0dhiEeKgkM6XJF9t4A" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_mlgC8NhiEeKgkM6XJF9t4A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mlyW0thiEeKgkM6XJF9t4A" points="[680, 720, -643984, -643984]$[680, 680, -643984, -643984]$[240, 680, -643984, -643984]$[240, 641, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ml4dcNhiEeKgkM6XJF9t4A" id="(0.425531914893617,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ml4dcdhiEeKgkM6XJF9t4A" id="(0.4986149584487535,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_n32JsNhkEeKgkM6XJF9t4A" type="Generalization_Edge" source="_6xipANhjEeKgkM6XJF9t4A" target="_EoeLgNhcEeKgkM6XJF9t4A" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTtTUNW4Eee0RrZFirrqqw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vTt6YNW4Eee0RrZFirrqqw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_n38QUNhkEeKgkM6XJF9t4A" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_aim2IK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_n38QUdhkEeKgkM6XJF9t4A" x="-99" y="38"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_n32JsdhkEeKgkM6XJF9t4A" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_n3p8cNhkEeKgkM6XJF9t4A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_n32JsthkEeKgkM6XJF9t4A" points="[500, 420, -643984, -643984]$[500, 380, -643984, -643984]$[780, 380, -643984, -643984]$[780, 341, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n38QUthkEeKgkM6XJF9t4A" id="(0.594059405940594,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n38QU9hkEeKgkM6XJF9t4A" id="(0.4979253112033195,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_rg2QsNhkEeKgkM6XJF9t4A" type="Generalization_Edge" source="__i1NwNhjEeKgkM6XJF9t4A" target="_EoeLgNhcEeKgkM6XJF9t4A" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTuhcNW4Eee0RrZFirrqqw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vTuhcdW4Eee0RrZFirrqqw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rg23wNhkEeKgkM6XJF9t4A" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_abgvoK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rg23wdhkEeKgkM6XJF9t4A" x="-100" y="39"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_rg2QsdhkEeKgkM6XJF9t4A" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_rgmZENhkEeKgkM6XJF9t4A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rg2QsthkEeKgkM6XJF9t4A" points="[600, 420, -643984, -643984]$[600, 380, -643984, -643984]$[780, 380, -643984, -643984]$[780, 341, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rg7JMNhkEeKgkM6XJF9t4A" id="(0.39603960396039606,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rg7JMdhkEeKgkM6XJF9t4A" id="(0.4979253112033195,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_tdN2wNhkEeKgkM6XJF9t4A" type="Generalization_Edge" source="_E4NXANhkEeKgkM6XJF9t4A" target="_EoeLgNhcEeKgkM6XJF9t4A" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTuhctW4Eee0RrZFirrqqw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vTuhc9W4Eee0RrZFirrqqw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_tdN2w9hkEeKgkM6XJF9t4A" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_aa32cK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_tdN2xNhkEeKgkM6XJF9t4A" y="39"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_tdN2wdhkEeKgkM6XJF9t4A" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_tdBpgNhkEeKgkM6XJF9t4A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tdN2wthkEeKgkM6XJF9t4A" points="[740, 420, -643984, -643984]$[740, 380, -643984, -643984]$[780, 380, -643984, -643984]$[780, 341, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tdT9YNhkEeKgkM6XJF9t4A" id="(0.594059405940594,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tdT9YdhkEeKgkM6XJF9t4A" id="(0.4979253112033195,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_wLqaANhkEeKgkM6XJF9t4A" type="Generalization_Edge" source="_J6bTsNhkEeKgkM6XJF9t4A" target="_EoeLgNhcEeKgkM6XJF9t4A" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vTvIgNW4Eee0RrZFirrqqw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vTvIgdW4Eee0RrZFirrqqw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_wLqaA9hkEeKgkM6XJF9t4A" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_aZYBoK9cEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_wLqaBNhkEeKgkM6XJF9t4A" x="-1" y="38"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_wLqaAdhkEeKgkM6XJF9t4A" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_wLYGINhkEeKgkM6XJF9t4A"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wLqaAthkEeKgkM6XJF9t4A" points="[960, 420, -643984, -643984]$[960, 380, -643984, -643984]$[780, 380, -643984, -643984]$[780, 341, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wLqaBdhkEeKgkM6XJF9t4A" id="(0.2484472049689441,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wLqaBthkEeKgkM6XJF9t4A" id="(0.4979253112033195,1.0)"/>
-    </edges>
     <edges xmi:type="notation:Connector" xmi:id="_drg8oNxWEeKwptaAAanMDg" type="Generalization_Edge" source="_agYdYNxWEeKwptaAAanMDg" target="_bvJBkNhbEeKgkM6XJF9t4A" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l7QWMNW4Eee0RrZFirrqqw" source="PapyrusCSSForceValue">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l7QWMdW4Eee0RrZFirrqqw" key="routing" value="true"/>
@@ -3411,6 +2861,17 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iE0yUM-FEeep-sEmK3jrig" id="(0.3314917127071823,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iE0yUc-FEeep-sEmK3jrig" id="(0.4986149584487535,1.0)"/>
     </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_kDcnYKU6EeiVgsJY_OrQeg" type="Generalization_Edge" source="_jXGewKU6EeiVgsJY_OrQeg" target="_bvJBkNhbEeKgkM6XJF9t4A">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kDdOcKU6EeiVgsJY_OrQeg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kcZ58KU6EeiVgsJY_OrQeg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_kDdOcaU6EeiVgsJY_OrQeg" x="-1" y="38"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_kDcnYaU6EeiVgsJY_OrQeg"/>
+      <element xmi:type="uml:Generalization" href="layers.uml#_0Omb83VZEeipp8d5W3Vl9g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kDcnYqU6EeiVgsJY_OrQeg" points="[520, 720, -643984, -643984]$[520, 680, -643984, -643984]$[240, 680, -643984, -643984]$[240, 641, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kdKu8KU6EeiVgsJY_OrQeg" id="(0.5524861878453039,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kdKu8aU6EeiVgsJY_OrQeg" id="(0.4986149584487535,1.0)"/>
+    </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_ePKuUNhbEeKgkM6XJF9t4A" type="PapyrusUMLClassDiagram" name="packages" measurementUnit="Pixel">
     <children xmi:type="notation:Shape" xmi:id="_fBRgsNhbEeKgkM6XJF9t4A" type="Class_Shape" fontName="Segoe UI" lineColor="0">
@@ -3491,7 +2952,7 @@
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LTv1QK5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LTxqcK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LTxqcK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     <edges xmi:type="notation:Connector" xmi:id="_jtwd8NhbEeKgkM6XJF9t4A" type="Association_Edge" source="_fBRgsNhbEeKgkM6XJF9t4A" target="_gglXUNhbEeKgkM6XJF9t4A" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_jtwd89hbEeKgkM6XJF9t4A" visible="false" type="Association_StereotypeLabel">
@@ -3771,27 +3232,27 @@
       <element xmi:type="uml:Class" href="layers.uml#_-vaacNa7EeKPiuTfpuvqHA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o64RUe-MEeK0p4PkXjd-_Q" x="100" y="480" width="141" height="121"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_cl5SgK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_cl5Sga5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cl5Sg65qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_hhY6UL2kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_hhY6Ub2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_hhY6U72kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="layers.uml#_vMMQsNjKEeKgkM6XJF9t4A"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cl5Sgq5qEeeUVoYywick3g" x="800" y="414"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hhY6Ur2kEeiAtaR2zBJhAQ" x="480" y="480"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_cmNbkK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_cmNbka5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cmNbk65qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <children xmi:type="notation:Shape" xmi:id="_hh87AL2kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_hh87Ab2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_hh87A72kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
       </styles>
       <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cmNbkq5qEeeUVoYywick3g" x="800" y="576"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hh87Ar2kEeiAtaR2zBJhAQ" x="620" y="20"/>
     </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_Dtu4wdjkEeKQqZMBCFd2Uw"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LUv60K5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LUxI8K5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LUxI8K5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     <edges xmi:type="notation:Connector" xmi:id="_Uv-40NjkEeKQqZMBCFd2Uw" type="Association_Edge" source="_Uvsk8NjkEeKQqZMBCFd2Uw" target="_UvyrkNjkEeKQqZMBCFd2Uw" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Uv-409jkEeKQqZMBCFd2Uw" visible="false" type="Association_StereotypeLabel">
@@ -3948,25 +3409,25 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rFKXkO-MEeK0p4PkXjd-_Q" id="(0.22160664819944598,1.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rFK-oO-MEeK0p4PkXjd-_Q" id="(0.5673758865248227,0.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_cl5ShK5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_blTK0NjkEeKQqZMBCFd2Uw" target="_cl5SgK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_cl5Sha5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cl5Sia5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_hhY6VL2kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_blTK0NjkEeKQqZMBCFd2Uw" target="_hhY6UL2kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_hhY6Vb2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_hhZhYL2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="layers.uml#_vMMQsNjKEeKgkM6XJF9t4A"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cl5Shq5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cl5Sh65qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cl5SiK5qEeeUVoYywick3g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hhY6Vr2kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hhY6V72kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hhY6WL2kEeiAtaR2zBJhAQ"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_cmNblK5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_1pN_sNjkEeKQqZMBCFd2Uw" target="_cmNbkK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_cmNbla5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cmNbma5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_hh87BL2kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_1pN_sNjkEeKQqZMBCFd2Uw" target="_hh87AL2kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_hh87Bb2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_hh9iEr2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cmNblq5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cmNbl65qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cmNbmK5qEeeUVoYywick3g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hh87Br2kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hh9iEL2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hh9iEb2kEeiAtaR2zBJhAQ"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_-aAtoNjpEeKQqZMBCFd2Uw" type="PapyrusUMLClassDiagram" name="Registries" measurementUnit="Pixel">
@@ -4364,57 +3825,6 @@
       <element xmi:type="uml:Class" href="layers.uml#_xhwY8NqCEeKQqZMBCFd2Uw"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xiCs0dqCEeKQqZMBCFd2Uw" x="40" y="420" width="161"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_z5FcsNqCEeKQqZMBCFd2Uw" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z5FcstqCEeKQqZMBCFd2Uw" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z5Fcs9qCEeKQqZMBCFd2Uw" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z5FctNqCEeKQqZMBCFd2Uw" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z5FctdqCEeKQqZMBCFd2Uw" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z5FcttqCEeKQqZMBCFd2Uw" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_z5Fct9qCEeKQqZMBCFd2Uw" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_z5FcuNqCEeKQqZMBCFd2Uw" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_z5FcudqCEeKQqZMBCFd2Uw" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z5FcutqCEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z5Fcu9qCEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z5FcvNqCEeKQqZMBCFd2Uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z5FcvdqCEeKQqZMBCFd2Uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_z5FcvtqCEeKQqZMBCFd2Uw" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z5Fcv9qCEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z5FcwNqCEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z5FcwdqCEeKQqZMBCFd2Uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z5FcwtqCEeKQqZMBCFd2Uw"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_z5Fcw9qCEeKQqZMBCFd2Uw" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_z5FcxNqCEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_z5FcxdqCEeKQqZMBCFd2Uw"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_z5FcxtqCEeKQqZMBCFd2Uw"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z5Fcx9qCEeKQqZMBCFd2Uw"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LVYNAq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LVYNA65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_z4m7kNqCEeKQqZMBCFd2Uw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z5FcsdqCEeKQqZMBCFd2Uw" x="240" y="420" width="161"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_LVeTk65qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_LVeTlK5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LVeTlq5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="layers.uml#_hgu_wNjqEeKQqZMBCFd2Uw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LVeTla5qEeeUVoYywick3g" x="200" y="100"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_LVhW6q5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_LVhW665qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LVh98K5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="layers.uml#_P4xeANj_EeKQqZMBCFd2Uw"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LVhW7K5qEeeUVoYywick3g" x="200" y="100"/>
-    </children>
     <children xmi:type="notation:Shape" xmi:id="_dh8rEK5qEeeUVoYywick3g" type="StereotypeComment">
       <styles xmi:type="notation:TitleStyle" xmi:id="_dh8rEa5qEeeUVoYywick3g"/>
       <styles xmi:type="notation:EObjectValueStyle" xmi:id="_dh8rE65qEeeUVoYywick3g" name="BASE_ELEMENT">
@@ -4423,11 +3833,27 @@
       <element xsi:nil="true"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dh8rEq5qEeeUVoYywick3g" x="446" y="180"/>
     </children>
+    <children xmi:type="notation:Shape" xmi:id="_i0bPkb2kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_i0bPkr2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_i0bPlL2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="layers.uml#_hgu_wNjqEeKQqZMBCFd2Uw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i0bPk72kEeiAtaR2zBJhAQ" x="1320" y="240"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_i0tjcb2kEeiAtaR2zBJhAQ" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_i0tjcr2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_i0tjdL2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="layers.uml#_P4xeANj_EeKQqZMBCFd2Uw"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i0tjc72kEeiAtaR2zBJhAQ" x="720" y="600"/>
+    </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_-aAtodjpEeKQqZMBCFd2Uw"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LVXl4K5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LVlBQK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LVlBQK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     <edges xmi:type="notation:Connector" xmi:id="_NV6sQNjqEeKQqZMBCFd2Uw" type="Association_Edge" source="_Atmg4NjqEeKQqZMBCFd2Uw" target="_ERoBQNjqEeKQqZMBCFd2Uw" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_NV6sQ9jqEeKQqZMBCFd2Uw" visible="false" type="Association_StereotypeLabel">
@@ -4719,17 +4145,6 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3e3QldqCEeKQqZMBCFd2Uw" id="(0.37267080745341613,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3e3QltqCEeKQqZMBCFd2Uw" id="(0.3314917127071823,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_5SH98NqCEeKQqZMBCFd2Uw" type="Generalization_Edge" source="_z5FcsNqCEeKQqZMBCFd2Uw" target="_a8fcQNqCEeKQqZMBCFd2Uw" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_5SH989qCEeKQqZMBCFd2Uw" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kEsDsK6IEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_5SH99NqCEeKQqZMBCFd2Uw" x="-1" y="38"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_5SH98dqCEeKQqZMBCFd2Uw" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_5RvjcNqCEeKQqZMBCFd2Uw"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5SH98tqCEeKQqZMBCFd2Uw" points="[340, 420, -643984, -643984]$[340, 380, -643984, -643984]$[240, 380, -643984, -643984]$[240, 300, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5SOEkNqCEeKQqZMBCFd2Uw" id="(0.6211180124223602,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5SOEkdqCEeKQqZMBCFd2Uw" id="(0.6629834254143646,1.0)"/>
-    </edges>
     <edges xmi:type="notation:Connector" xmi:id="_LVcebK5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_RruhsA2qEeOjX-JbGFEH7w" target="_LVceaK5qEeeUVoYywick3g">
       <styles xmi:type="notation:FontStyle" xmi:id="_LVceba5qEeeUVoYywick3g"/>
       <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LVceca5qEeeUVoYywick3g" name="BASE_ELEMENT">
@@ -4740,25 +4155,25 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LVceb65qEeeUVoYywick3g"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LVcecK5qEeeUVoYywick3g"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LVeTl65qEeeUVoYywick3g" type="StereotypeCommentLink" source="_hhHaQNjqEeKQqZMBCFd2Uw" target="_LVeTk65qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_LVeTmK5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LVfhsK5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_i0bPlb2kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_hhHaQNjqEeKQqZMBCFd2Uw" target="_i0bPkb2kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_i0bPlr2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_i0bPmr2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="layers.uml#_hgu_wNjqEeKQqZMBCFd2Uw"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVeTma5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LVeTmq5qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LVeTm65qEeeUVoYywick3g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_i0bPl72kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i0bPmL2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i0bPmb2kEeiAtaR2zBJhAQ"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LVh98a5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_P5J4gNj_EeKQqZMBCFd2Uw" target="_LVhW6q5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_LVh98q5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LVh99q5qEeeUVoYywick3g" name="BASE_ELEMENT">
+    <edges xmi:type="notation:Connector" xmi:id="_i0tjdb2kEeiAtaR2zBJhAQ" type="StereotypeCommentLink" source="_P5J4gNj_EeKQqZMBCFd2Uw" target="_i0tjcb2kEeiAtaR2zBJhAQ">
+      <styles xmi:type="notation:FontStyle" xmi:id="_i0tjdr2kEeiAtaR2zBJhAQ"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_i0tjer2kEeiAtaR2zBJhAQ" name="BASE_ELEMENT">
         <eObjectValue xmi:type="uml:Class" href="layers.uml#_P4xeANj_EeKQqZMBCFd2Uw"/>
       </styles>
       <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LVh9865qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LVh99K5qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LVh99a5qEeeUVoYywick3g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_i0tjd72kEeiAtaR2zBJhAQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i0tjeL2kEeiAtaR2zBJhAQ"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i0tjeb2kEeiAtaR2zBJhAQ"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_gSkRsNxGEeKwptaAAanMDg" type="PapyrusUMLClassDiagram" name="exceptions" measurementUnit="Pixel">
@@ -4877,7 +4292,7 @@
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LWRk0K5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LWY5kK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LWY5kK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     <edges xmi:type="notation:Connector" xmi:id="_ox-G8NxGEeKwptaAAanMDg" type="Generalization_Edge" source="_k-76MNxGEeKwptaAAanMDg" target="_iYyXUNxGEeKwptaAAanMDg" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_ox_VENxGEeKwptaAAanMDg" type="Generalization_StereotypeLabel">
@@ -5003,443 +4418,12 @@
       <element xmi:type="uml:Class" href="layers.uml#_EoL3oNhcEeKgkM6XJF9t4A"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tBcQYeT_EeKSDdPH_NXL-g" x="260" y="400" width="241" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_tjX4wOT_EeKSDdPH_NXL-g" type="Class_Shape" fontName="Segoe UI" fillColor="15053796" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tjX4wuT_EeKSDdPH_NXL-g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tjX4w-T_EeKSDdPH_NXL-g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tjX4xOT_EeKSDdPH_NXL-g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tjX4xeT_EeKSDdPH_NXL-g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tjX4xuT_EeKSDdPH_NXL-g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tjX4x-T_EeKSDdPH_NXL-g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_tjX4yOT_EeKSDdPH_NXL-g" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_tjX4yeT_EeKSDdPH_NXL-g" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_tjX4yuT_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_tjX4y-T_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_tjX4zOT_EeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tjX4zeT_EeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_tjX4zuT_EeKSDdPH_NXL-g" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_tjX4z-T_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_tjX40OT_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_tjX40eT_EeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tjX40uT_EeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_tjX40-T_EeKSDdPH_NXL-g" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_tjX41OT_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_tjX41eT_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_tjX41uT_EeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tjX41-T_EeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LXRqZK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LXRqZa5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_ti_eQOT_EeKSDdPH_NXL-g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tjX4weT_EeKSDdPH_NXL-g" x="260" y="560"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_vkxIwOT_EeKSDdPH_NXL-g" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vkxIwuT_EeKSDdPH_NXL-g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vkxIw-T_EeKSDdPH_NXL-g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vkxIxOT_EeKSDdPH_NXL-g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vkxIxeT_EeKSDdPH_NXL-g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vkxIxuT_EeKSDdPH_NXL-g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vkxIx-T_EeKSDdPH_NXL-g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_vkxIyOT_EeKSDdPH_NXL-g" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_vkxIyeT_EeKSDdPH_NXL-g" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_VwHpgOUAEeKSDdPH_NXL-g" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_Q8HvAOUAEeKSDdPH_NXL-g"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_VwHpgeUAEeKSDdPH_NXL-g" x="15"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_vkxIyuT_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_vkxIy-T_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_vkxIzOT_EeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vkxIzeT_EeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_vkxIzuT_EeKSDdPH_NXL-g" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_vkxIz-T_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_vkxI0OT_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_vkxI0eT_EeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vkxI0uT_EeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_vkxI0-T_EeKSDdPH_NXL-g" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_vkxI1OT_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_vkxI1eT_EeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_vkxI1uT_EeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vkxI1-T_EeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LXRqZq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LXRqZ65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_vkSnoOT_EeKSDdPH_NXL-g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vkxIweT_EeKSDdPH_NXL-g" x="260" y="180" width="121" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_fMVFQOUAEeKSDdPH_NXL-g" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fMVFQuUAEeKSDdPH_NXL-g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fMVFQ-UAEeKSDdPH_NXL-g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fMVFROUAEeKSDdPH_NXL-g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fMVFReUAEeKSDdPH_NXL-g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fMVFRuUAEeKSDdPH_NXL-g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fMVFR-UAEeKSDdPH_NXL-g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_fMVFSOUAEeKSDdPH_NXL-g" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_fMVFSeUAEeKSDdPH_NXL-g" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_p9Xl8OUAEeKSDdPH_NXL-g" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_nVngkOUAEeKSDdPH_NXL-g"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_p9Xl8eUAEeKSDdPH_NXL-g" x="39" y="11"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_fMVFSuUAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_fMVFS-UAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_fMVFTOUAEeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fMVFTeUAEeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_fMVFTuUAEeKSDdPH_NXL-g" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_fMVFT-UAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_fMVFUOUAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_fMVFUeUAEeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fMVFUuUAEeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_fMVFU-UAEeKSDdPH_NXL-g" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_fMVFVOUAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_fMVFVeUAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_fMVFVuUAEeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fMVFV-UAEeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LXRqaK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LXRqaa5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_fL2kIOUAEeKSDdPH_NXL-g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fMVFQeUAEeKSDdPH_NXL-g" x="40" y="180" width="161" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_gsWtkOUAEeKSDdPH_NXL-g" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gsWtkuUAEeKSDdPH_NXL-g" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gsWtk-UAEeKSDdPH_NXL-g" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gsWtlOUAEeKSDdPH_NXL-g" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gsc0MOUAEeKSDdPH_NXL-g" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gsc0MeUAEeKSDdPH_NXL-g" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gsc0MuUAEeKSDdPH_NXL-g" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_gsc0M-UAEeKSDdPH_NXL-g" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_gsc0NOUAEeKSDdPH_NXL-g" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_gsc0NeUAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_gsc0NuUAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_gsc0N-UAEeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gsc0OOUAEeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_gsc0OeUAEeKSDdPH_NXL-g" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_gsc0OuUAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_gsc0O-UAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_gsc0POUAEeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gsc0PeUAEeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_gsc0PuUAEeKSDdPH_NXL-g" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_gsc0P-UAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_gsc0QOUAEeKSDdPH_NXL-g"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_gsc0QeUAEeKSDdPH_NXL-g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gsc0QuUAEeKSDdPH_NXL-g"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LXRqaq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LXRqa65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_gsEZsOUAEeKSDdPH_NXL-g"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gsWtkeUAEeKSDdPH_NXL-g" x="120" y="560"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Rn740O-YEeK0p4PkXjd-_Q" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Rn740u-YEeK0p4PkXjd-_Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Rn740--YEeK0p4PkXjd-_Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Rn741O-YEeK0p4PkXjd-_Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Rn741e-YEeK0p4PkXjd-_Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Rn741u-YEeK0p4PkXjd-_Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Rn741--YEeK0p4PkXjd-_Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Rn742O-YEeK0p4PkXjd-_Q" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Rn742e-YEeK0p4PkXjd-_Q" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Rn742u-YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Rn742--YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Rn743O-YEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rn743e-YEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Rn743u-YEeK0p4PkXjd-_Q" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Rn743--YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Rn744O-YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Rn744e-YEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rn744u-YEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Rn744--YEeK0p4PkXjd-_Q" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Rn745O-YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Rn745e-YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Rn745u-YEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rn745--YEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LXRqbK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LXRqba5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_RnjeUO-YEeK0p4PkXjd-_Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rn740e-YEeK0p4PkXjd-_Q" x="400" y="560"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_ZHO78O-YEeK0p4PkXjd-_Q" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZHO78u-YEeK0p4PkXjd-_Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZHO78--YEeK0p4PkXjd-_Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZHO79O-YEeK0p4PkXjd-_Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZHO79e-YEeK0p4PkXjd-_Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZHO79u-YEeK0p4PkXjd-_Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ZHO79--YEeK0p4PkXjd-_Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ZHO7-O-YEeK0p4PkXjd-_Q" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ZHO7-e-YEeK0p4PkXjd-_Q" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_vpscQO-YEeK0p4PkXjd-_Q" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_vpaIYO-YEeK0p4PkXjd-_Q"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_vpscQe-YEeK0p4PkXjd-_Q"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_yrtbwO-YEeK0p4PkXjd-_Q" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_yrVBQO-YEeK0p4PkXjd-_Q"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_yrtbwe-YEeK0p4PkXjd-_Q"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ZHO7-u-YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ZHO7---YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ZHO7_O-YEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZHO7_e-YEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ZHO7_u-YEeK0p4PkXjd-_Q" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ZHO7_--YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ZHO8AO-YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ZHO8Ae-YEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZHO8Au-YEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_ZHO8A--YEeK0p4PkXjd-_Q" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_ZHO8BO-YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_ZHO8Be-YEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_ZHO8Bu-YEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZHO8B--YEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LXRqbq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LXRqb65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_ZGwa0O-YEeK0p4PkXjd-_Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZHO78e-YEeK0p4PkXjd-_Q" x="420" y="180" width="141" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Ot3I0O-iEeK0p4PkXjd-_Q" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ot3I0u-iEeK0p4PkXjd-_Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ot3I0--iEeK0p4PkXjd-_Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ot3I1O-iEeK0p4PkXjd-_Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ot3I1e-iEeK0p4PkXjd-_Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ot3I1u-iEeK0p4PkXjd-_Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ot3I1--iEeK0p4PkXjd-_Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Ot3I2O-iEeK0p4PkXjd-_Q" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Ot3I2e-iEeK0p4PkXjd-_Q" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_XmGU0O-iEeK0p4PkXjd-_Q" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_Xlt6UO-iEeK0p4PkXjd-_Q"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XmGU0e-iEeK0p4PkXjd-_Q"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_bEXygO-iEeK0p4PkXjd-_Q" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_bD8UsO-iEeK0p4PkXjd-_Q"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bEXyge-iEeK0p4PkXjd-_Q"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_eqEG0O-iEeK0p4PkXjd-_Q" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_epxy8O-iEeK0p4PkXjd-_Q"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_eqEG0e-iEeK0p4PkXjd-_Q"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_indJcO-iEeK0p4PkXjd-_Q" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_inEu8O-iEeK0p4PkXjd-_Q"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_indJce-iEeK0p4PkXjd-_Q"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Ot3I2u-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Ot3I2--iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Ot3I3O-iEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ot3I3e-iEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Ot3I3u-iEeK0p4PkXjd-_Q" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Ot3I3--iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Ot3I4O-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Ot3I4e-iEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ot3I4u-iEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Ot3I4--iEeK0p4PkXjd-_Q" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Ot3I5O-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Ot3I5e-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Ot3I5u-iEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ot3I5--iEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LXRqcK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LXRqca5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_OtShEO-iEeK0p4PkXjd-_Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ot3I0e-iEeK0p4PkXjd-_Q" x="600" y="180" width="161" height="141"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_Q7FOUO-iEeK0p4PkXjd-_Q" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q7FOUu-iEeK0p4PkXjd-_Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Q7FOU--iEeK0p4PkXjd-_Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q7FOVO-iEeK0p4PkXjd-_Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Q7FOVe-iEeK0p4PkXjd-_Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Q7FOVu-iEeK0p4PkXjd-_Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Q7FOV--iEeK0p4PkXjd-_Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Q7FOWO-iEeK0p4PkXjd-_Q" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Q7FOWe-iEeK0p4PkXjd-_Q" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Q7FOWu-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Q7FOW--iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Q7FOXO-iEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q7FOXe-iEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Q7FOXu-iEeK0p4PkXjd-_Q" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Q7FOX--iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Q7FOYO-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Q7FOYe-iEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q7FOYu-iEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_Q7FOY--iEeK0p4PkXjd-_Q" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_Q7FOZO-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_Q7FOZe-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_Q7FOZu-iEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q7FOZ--iEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LXRqcq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LXRqc65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_Q6ta4O-iEeK0p4PkXjd-_Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q7FOUe-iEeK0p4PkXjd-_Q" x="540" y="560"/>
-    </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_j4XzEeT_EeKSDdPH_NXL-g"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LXRDUK5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LXS4gK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LXS4gK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_YC914OUAEeKSDdPH_NXL-g" type="Generalization_Edge" source="_vkxIwOT_EeKSDdPH_NXL-g" target="_ruaiQOT_EeKSDdPH_NXL-g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_YDD8gOUAEeKSDdPH_NXL-g" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gWOnMK6DEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_YDD8geUAEeKSDdPH_NXL-g" x="1" y="37"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_YC914eUAEeKSDdPH_NXL-g" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_YCxooOUAEeKSDdPH_NXL-g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YC914uUAEeKSDdPH_NXL-g" points="[325, 167, -643984, -643984]$[314, 132, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YDD8guUAEeKSDdPH_NXL-g" id="(0.49586776859504134,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YDD8g-UAEeKSDdPH_NXL-g" id="(0.22675736961451248,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Y03M4OUAEeKSDdPH_NXL-g" type="Generalization_Edge" source="_tjX4wOT_EeKSDdPH_NXL-g" target="_tBcQYOT_EeKSDdPH_NXL-g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Y09TgOUAEeKSDdPH_NXL-g" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__1xzwK6CEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Y09TgeUAEeKSDdPH_NXL-g" x="-1" y="39"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Y03M4eUAEeKSDdPH_NXL-g" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_Y0k5AOUAEeKSDdPH_NXL-g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y03M4uUAEeKSDdPH_NXL-g" points="[298, 573, -643984, -643984]$[336, 496, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y09TguUAEeKSDdPH_NXL-g" id="(0.6,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y09Tg-UAEeKSDdPH_NXL-g" id="(0.24896265560165975,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_iqWrUOUAEeKSDdPH_NXL-g" type="Generalization_Edge" source="_gsWtkOUAEeKSDdPH_NXL-g" target="_tBcQYOT_EeKSDdPH_NXL-g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_iqcx8OUAEeKSDdPH_NXL-g" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__2EusK6CEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_iqcx8eUAEeKSDdPH_NXL-g" y="19"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_iqWrUeUAEeKSDdPH_NXL-g" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_ip-Q0OUAEeKSDdPH_NXL-g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iqWrUuUAEeKSDdPH_NXL-g" points="[160, 580, -643984, -643984]$[160, 540, -643984, -643984]$[280, 540, -643984, -643984]$[280, 501, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iqgcUOUAEeKSDdPH_NXL-g" id="(0.4,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iqgcUeUAEeKSDdPH_NXL-g" id="(0.08298755186721991,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_jXrEUOUAEeKSDdPH_NXL-g" type="Generalization_Edge" source="_fMVFQOUAEeKSDdPH_NXL-g" target="_ruaiQOT_EeKSDdPH_NXL-g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_jXrEU-UAEeKSDdPH_NXL-g" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gWhiIK6DEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_jXrEVOUAEeKSDdPH_NXL-g" x="1" y="19"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_jXrEUeUAEeKSDdPH_NXL-g" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_jXYwcOUAEeKSDdPH_NXL-g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jXrEUuUAEeKSDdPH_NXL-g" points="[100, 200, -643984, -643984]$[100, 160, -643984, -643984]$[240, 160, -643984, -643984]$[240, 120, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jXrEVeUAEeKSDdPH_NXL-g" id="(0.37267080745341613,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jXrEVuUAEeKSDdPH_NXL-g" id="(0.045351473922902494,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_uUewIOUAEeKSDdPH_NXL-g" type="Association_Edge" source="_fMVFQOUAEeKSDdPH_NXL-g" target="_vkxIwOT_EeKSDdPH_NXL-g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_uUfXMOUAEeKSDdPH_NXL-g" visible="false" type="Association_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_m_jEkK6DEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_uUfXMeUAEeKSDdPH_NXL-g" y="-20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_uUfXMuUAEeKSDdPH_NXL-g" visible="false" type="Association_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nAL9wK6DEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_uUfXM-UAEeKSDdPH_NXL-g" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_uUf-QOUAEeKSDdPH_NXL-g" visible="false" type="Association_TargetRoleLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nAffwK6DEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_uUf-QeUAEeKSDdPH_NXL-g" x="14" y="-20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_uUf-QuUAEeKSDdPH_NXL-g" type="Association_SourceRoleLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nAyasK6DEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_uUf-Q-UAEeKSDdPH_NXL-g" x="-4" y="27"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_uUf-ROUAEeKSDdPH_NXL-g" visible="false" type="Association_SourceMultiplicityLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nA7koK6DEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_uUf-ReUAEeKSDdPH_NXL-g" x="14" y="20"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_uUf-RuUAEeKSDdPH_NXL-g" type="Association_TargetMultiplicityLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nBFVoK6DEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_uUf-R-UAEeKSDdPH_NXL-g" x="-13" y="-20"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_uUewIeUAEeKSDdPH_NXL-g" fontName="Segoe UI"/>
-      <element xmi:type="uml:Association" href="layers.uml#_uTre4OUAEeKSDdPH_NXL-g"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uUewIuUAEeKSDdPH_NXL-g" points="[200, 221, -643984, -643984]$[262, 219, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uUohIOUAEeKSDdPH_NXL-g" id="(1.0,0.39603960396039606)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uUohIeUAEeKSDdPH_NXL-g" id="(0.0,0.39603960396039606)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_UJZI8O-YEeK0p4PkXjd-_Q" type="Generalization_Edge" source="_Rn740O-YEeK0p4PkXjd-_Q" target="_tBcQYOT_EeKSDdPH_NXL-g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_UJZI8--YEeK0p4PkXjd-_Q" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__2N4oK6CEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_UJZI9O-YEeK0p4PkXjd-_Q" x="1" y="39"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_UJZI8e-YEeK0p4PkXjd-_Q" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_UJAucO-YEeK0p4PkXjd-_Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UJZI8u-YEeK0p4PkXjd-_Q" points="[440, 570, -643984, -643984]$[428, 498, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UJfPkO-YEeK0p4PkXjd-_Q" id="(0.4,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UJfPke-YEeK0p4PkXjd-_Q" id="(0.7468879668049793,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ikHGEO-YEeK0p4PkXjd-_Q" type="Generalization_Edge" source="_ZHO78O-YEeK0p4PkXjd-_Q" target="_ruaiQOT_EeKSDdPH_NXL-g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_ikHGE--YEeK0p4PkXjd-_Q" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gWqsEK6DEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ikHGFO-YEeK0p4PkXjd-_Q" x="-1" y="39"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_ikHGEe-YEeK0p4PkXjd-_Q" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_ijurkO-YEeK0p4PkXjd-_Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ikHGEu-YEeK0p4PkXjd-_Q" points="[500, 174, -643984, -643984]$[520, 129, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ikNMsO-YEeK0p4PkXjd-_Q" id="(0.5673758865248227,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ikNMse-YEeK0p4PkXjd-_Q" id="(0.6349206349206349,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_UKjbAO-iEeK0p4PkXjd-_Q" type="Generalization_Edge" source="_Q7FOUO-iEeK0p4PkXjd-_Q" target="_tBcQYOT_EeKSDdPH_NXL-g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_UKjbA--iEeK0p4PkXjd-_Q" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="__2haoK6CEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_UKjbBO-iEeK0p4PkXjd-_Q" x="-1" y="39"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_UKjbAe-iEeK0p4PkXjd-_Q" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_UKLAgO-iEeK0p4PkXjd-_Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UKjbAu-iEeK0p4PkXjd-_Q" points="[580, 580, -643984, -643984]$[580, 540, -643984, -643984]$[480, 540, -643984, -643984]$[420, 501, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UKjbBe-iEeK0p4PkXjd-_Q" id="(0.4,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UKjbBu-iEeK0p4PkXjd-_Q" id="(0.9128630705394191,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_VIS1oO-iEeK0p4PkXjd-_Q" type="Generalization_Edge" source="_Ot3I0O-iEeK0p4PkXjd-_Q" target="_ruaiQOT_EeKSDdPH_NXL-g" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_VIY8QO-iEeK0p4PkXjd-_Q" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_gW-OEK6DEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_VIY8Qe-iEeK0p4PkXjd-_Q" y="39"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_VIS1oe-iEeK0p4PkXjd-_Q" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_VH6bIO-iEeK0p4PkXjd-_Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VIS1ou-iEeK0p4PkXjd-_Q" points="[720, 180, -643984, -643984]$[720, 160, -643984, -643984]$[640, 160, -643984, -643984]$[640, 120, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VId0wO-iEeK0p4PkXjd-_Q" id="(0.7453416149068323,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VId0we-iEeK0p4PkXjd-_Q" id="(0.9523809523809523,1.0)"/>
-    </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_UCFqMO3vEeKwLp35IbAIig" type="PapyrusUMLClassDiagram" name="PropertySetter" measurementUnit="Pixel">
     <children xmi:type="notation:Shape" xmi:id="_aL5hEO3vEeKwLp35IbAIig" type="Class_Shape" fontName="Segoe UI" lineColor="0">
@@ -5602,76 +4586,6 @@
       <element xmi:type="uml:Class" href="layers.uml#_-vaacNa7EeKPiuTfpuvqHA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_28aOse5VEeK0p4PkXjd-_Q" x="940" y="440" width="101" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_R-02sO5XEeK0p4PkXjd-_Q" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_R-02su5XEeK0p4PkXjd-_Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_R-02s-5XEeK0p4PkXjd-_Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_R-02tO5XEeK0p4PkXjd-_Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_R-02te5XEeK0p4PkXjd-_Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_R-02tu5XEeK0p4PkXjd-_Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_R-02t-5XEeK0p4PkXjd-_Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_R-02uO5XEeK0p4PkXjd-_Q" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_R-02ue5XEeK0p4PkXjd-_Q" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_R-02uu5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_R-02u-5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_R-02vO5XEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R-02ve5XEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_R-02vu5XEeK0p4PkXjd-_Q" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_R-02v-5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_R-02wO5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_R-02we5XEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R-02wu5XEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_R-02w-5XEeK0p4PkXjd-_Q" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_R-02xO5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_R-02xe5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_R-02xu5XEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R-02x-5XEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LYnHKa5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LYnHKq5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_R-WVkO5XEeK0p4PkXjd-_Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R-02se5XEeK0p4PkXjd-_Q" x="40" y="640" width="101" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_UfT2cO5XEeK0p4PkXjd-_Q" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfT2cu5XEeK0p4PkXjd-_Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfT2c-5XEeK0p4PkXjd-_Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfT2dO5XEeK0p4PkXjd-_Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfT2de5XEeK0p4PkXjd-_Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UfT2du5XEeK0p4PkXjd-_Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UfT2d-5XEeK0p4PkXjd-_Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_UfT2eO5XEeK0p4PkXjd-_Q" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_UfT2ee5XEeK0p4PkXjd-_Q" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_UfT2eu5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_UfT2e-5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_UfT2fO5XEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UfT2fe5XEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_UfT2fu5XEeK0p4PkXjd-_Q" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_UfT2f-5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_UfT2gO5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_UfT2ge5XEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UfT2gu5XEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_UfT2g-5XEeK0p4PkXjd-_Q" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_UfT2hO5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_UfT2he5XEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_UfT2hu5XEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UfT2h-5XEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LYnuMK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LYnuMa5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_Ue7b8O5XEeK0p4PkXjd-_Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UfT2ce5XEeK0p4PkXjd-_Q" x="320" y="640" width="121" height="101"/>
-    </children>
     <children xmi:type="notation:Shape" xmi:id="_JSk6cO5mEeK0p4PkXjd-_Q" type="Class_Shape" fontName="Segoe UI" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JSk6cu5mEeK0p4PkXjd-_Q" source="ShadowFigure">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JSk6c-5mEeK0p4PkXjd-_Q" key="ShadowFigure_Value" value="false"/>
@@ -5746,154 +4660,6 @@
       <element xmi:type="uml:Class" href="layers.uml#_-z_6YO5zEeK0p4PkXjd-_Q"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-0YU4e5zEeK0p4PkXjd-_Q" x="800" y="640" width="101" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_JhQv0O-cEeK0p4PkXjd-_Q" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JhQv0u-cEeK0p4PkXjd-_Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JhQv0--cEeK0p4PkXjd-_Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JhQv1O-cEeK0p4PkXjd-_Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JhQv1e-cEeK0p4PkXjd-_Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JhQv1u-cEeK0p4PkXjd-_Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JhQv1--cEeK0p4PkXjd-_Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_JhQv2O-cEeK0p4PkXjd-_Q" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JhQv2e-cEeK0p4PkXjd-_Q" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_JhQv2u-cEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_JhQv2--cEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_JhQv3O-cEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JhQv3e-cEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JhQv3u-cEeK0p4PkXjd-_Q" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_JhQv3--cEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_JhQv4O-cEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_JhQv4e-cEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JhQv4u-cEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_JhQv4--cEeK0p4PkXjd-_Q" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_JhQv5O-cEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_JhQv5e-cEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_JhQv5u-cEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JhQv5--cEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LYnuNq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LYnuN65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_JgyOsO-cEeK0p4PkXjd-_Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JhQv0e-cEeK0p4PkXjd-_Q" x="180" y="640" width="101" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_GwJEUO-iEeK0p4PkXjd-_Q" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GwJEUu-iEeK0p4PkXjd-_Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GwJEU--iEeK0p4PkXjd-_Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GwJEVO-iEeK0p4PkXjd-_Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GwJEVe-iEeK0p4PkXjd-_Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GwJEVu-iEeK0p4PkXjd-_Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GwJEV--iEeK0p4PkXjd-_Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_GwJEWO-iEeK0p4PkXjd-_Q" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GwJEWe-iEeK0p4PkXjd-_Q" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GwJEWu-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GwJEW--iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GwJEXO-iEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GwJEXe-iEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GwJEXu-iEeK0p4PkXjd-_Q" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GwJEX--iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GwJEYO-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GwJEYe-iEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GwJEYu-iEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_GwJEY--iEeK0p4PkXjd-_Q" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_GwJEZO-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_GwJEZe-iEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_GwJEZu-iEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GwJEZ--iEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LYnuOK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LYnuOa5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_Gvwp0O-iEeK0p4PkXjd-_Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GwJEUe-iEeK0p4PkXjd-_Q" x="480" y="640" width="121" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_xaib4O-lEeK0p4PkXjd-_Q" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xajqAO-lEeK0p4PkXjd-_Q" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xak4IO-lEeK0p4PkXjd-_Q" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xak4Ie-lEeK0p4PkXjd-_Q" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xak4Iu-lEeK0p4PkXjd-_Q" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xak4I--lEeK0p4PkXjd-_Q" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xak4JO-lEeK0p4PkXjd-_Q" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_xak4Je-lEeK0p4PkXjd-_Q" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_xalfMO-lEeK0p4PkXjd-_Q" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_xalfMe-lEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_xalfMu-lEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_xalfM--lEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xalfNO-lEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_xalfNe-lEeK0p4PkXjd-_Q" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_xalfNu-lEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_xalfN--lEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_xalfOO-lEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xalfOe-lEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_xalfOu-lEeK0p4PkXjd-_Q" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_xalfO--lEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_xalfPO-lEeK0p4PkXjd-_Q"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_xalfPe-lEeK0p4PkXjd-_Q"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xalfPu-lEeK0p4PkXjd-_Q"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LYnuOq5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LYnuO65qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_xZ-bMO-lEeK0p4PkXjd-_Q"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xaib4e-lEeK0p4PkXjd-_Q" x="640" y="640" width="121" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_XyHrUBZ1EeOZwp016gnCFQ" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XyHrUhZ1EeOZwp016gnCFQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XyHrUxZ1EeOZwp016gnCFQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XyHrVBZ1EeOZwp016gnCFQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XyHrVRZ1EeOZwp016gnCFQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_XyHrVhZ1EeOZwp016gnCFQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_XyHrVxZ1EeOZwp016gnCFQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_XyHrWBZ1EeOZwp016gnCFQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_XyHrWRZ1EeOZwp016gnCFQ" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_XyHrWhZ1EeOZwp016gnCFQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_XyHrWxZ1EeOZwp016gnCFQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_XyHrXBZ1EeOZwp016gnCFQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XyHrXRZ1EeOZwp016gnCFQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_XyHrXhZ1EeOZwp016gnCFQ" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_XyHrXxZ1EeOZwp016gnCFQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_XyHrYBZ1EeOZwp016gnCFQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_XyHrYRZ1EeOZwp016gnCFQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XyHrYhZ1EeOZwp016gnCFQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_XyHrYxZ1EeOZwp016gnCFQ" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_XyHrZBZ1EeOZwp016gnCFQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_XyHrZRZ1EeOZwp016gnCFQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_XyHrZhZ1EeOZwp016gnCFQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XyHrZxZ1EeOZwp016gnCFQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LYnuPK5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LYnuPa5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_Xxh1cBZ1EeOZwp016gnCFQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XyHrURZ1EeOZwp016gnCFQ" x="940" y="640" width="121" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_LYqxgK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_LYqxga5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LYqxg65qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="layers.uml#_JSMf8O5mEeK0p4PkXjd-_Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LYqxgq5qEeeUVoYywick3g" x="200" y="100"/>
-    </children>
     <children xmi:type="notation:Shape" xmi:id="_DFt10M-FEeep-sEmK3jrig" type="Class_Shape">
       <children xmi:type="notation:DecorationNode" xmi:id="_DF2YsM-FEeep-sEmK3jrig" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_DF2Ysc-FEeep-sEmK3jrig" type="Class_FloatingNameLabel">
@@ -5920,11 +4686,45 @@
       <element xmi:type="uml:Class" href="layers.uml#_DEE3EM-FEeep-sEmK3jrig"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DFt10c-FEeep-sEmK3jrig" x="1100" y="640"/>
     </children>
+    <children xmi:type="notation:Shape" xmi:id="_sA3w8KU6EeiVgsJY_OrQeg" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_sA3w8qU6EeiVgsJY_OrQeg" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_sA3w86U6EeiVgsJY_OrQeg" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_sA3w9KU6EeiVgsJY_OrQeg" y="15"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sA3w9aU6EeiVgsJY_OrQeg" type="Class_AttributeCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_sA3w9qU6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sA3w96U6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sA3w-KU6EeiVgsJY_OrQeg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sA3w-aU6EeiVgsJY_OrQeg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sA3w-qU6EeiVgsJY_OrQeg" type="Class_OperationCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_sA3w-6U6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sA3w_KU6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sA3w_aU6EeiVgsJY_OrQeg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sA3w_qU6EeiVgsJY_OrQeg"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_sA3w_6U6EeiVgsJY_OrQeg" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_sA3xAKU6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_sA3xAaU6EeiVgsJY_OrQeg"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_sA3xAqU6EeiVgsJY_OrQeg"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sA3xA6U6EeiVgsJY_OrQeg"/>
+      </children>
+      <element xmi:type="uml:Class" href="layers.uml#_0OlN0HVZEeipp8d5W3Vl9g"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sA3w8aU6EeiVgsJY_OrQeg" x="560" y="640" width="141" height="101"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_Tu0X0b2jEeiOA5QgX2jOSg" type="StereotypeComment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_Tu0X0r2jEeiOA5QgX2jOSg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Tu0X1L2jEeiOA5QgX2jOSg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="layers.uml#_JSMf8O5mEeK0p4PkXjd-_Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tu0X072jEeiOA5QgX2jOSg" x="920" y="200"/>
+    </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_UCFqMe3vEeKwLp35IbAIig"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LYnHIK5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LYsmsK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LYsmsK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     <edges xmi:type="notation:Connector" xmi:id="_aMR7kO3vEeKwLp35IbAIig" type="Association_Edge" source="_aL5hEO3vEeKwLp35IbAIig" target="_aMFuUO3vEeKwLp35IbAIig" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_aMR7k-3vEeKwLp35IbAIig" visible="false" type="Association_StereotypeLabel">
@@ -6019,34 +4819,6 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4D_h0O5VEeK0p4PkXjd-_Q" id="(1.0,0.39603960396039606)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4D_h0e5VEeK0p4PkXjd-_Q" id="(0.0,0.39603960396039606)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Y9OMMO5XEeK0p4PkXjd-_Q" type="Generalization_Edge" source="_R-02sO5XEeK0p4PkXjd-_Q" target="_fyt_oO3vEeKwLp35IbAIig" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5dnNcNW2EeeK7fKfT_QGQw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5dnNcdW2EeeK7fKfT_QGQw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Y9US0O5XEeK0p4PkXjd-_Q" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_4hUVYK6HEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Y9US0e5XEeK0p4PkXjd-_Q" x="-8" y="77"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Y9OMMe5XEeK0p4PkXjd-_Q" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_Y8pkcO5XEeK0p4PkXjd-_Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y9OMMu5XEeK0p4PkXjd-_Q" points="[80, 640, -643984, -643984]$[80, 600, -643984, -643984]$[540, 600, -643984, -643984]$[540, 541, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y9US0u5XEeK0p4PkXjd-_Q" id="(0.39603960396039606,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y9US0-5XEeK0p4PkXjd-_Q" id="(0.49916805324459235,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ZyK3MO5XEeK0p4PkXjd-_Q" type="Generalization_Edge" source="_UfT2cO5XEeK0p4PkXjd-_Q" target="_fyt_oO3vEeKwLp35IbAIig" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5dmmYtW2EeeK7fKfT_QGQw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5dmmY9W2EeeK7fKfT_QGQw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ZyK3M-5XEeK0p4PkXjd-_Q" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_5VWaYK6HEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZyK3NO5XEeK0p4PkXjd-_Q" x="-167" y="101"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_ZyK3Me5XEeK0p4PkXjd-_Q" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_ZxycsO5XEeK0p4PkXjd-_Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZyK3Mu5XEeK0p4PkXjd-_Q" points="[400, 640, -643984, -643984]$[400, 600, -643984, -643984]$[540, 600, -643984, -643984]$[540, 541, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZyXEcO5XEeK0p4PkXjd-_Q" id="(0.6611570247933884,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZyXEce5XEeK0p4PkXjd-_Q" id="(0.49916805324459235,1.0)"/>
-    </edges>
     <edges xmi:type="notation:Connector" xmi:id="_QgWvwO5mEeK0p4PkXjd-_Q" type="Association_Edge" source="_JSk6cO5mEeK0p4PkXjd-_Q" target="_fyt_oO3vEeKwLp35IbAIig" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_QgX94O5mEeK0p4PkXjd-_Q" visible="false" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_kKC6QK6HEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
@@ -6123,72 +4895,6 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CpSw8O50EeK0p4PkXjd-_Q" id="(0.594059405940594,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CpSw8e50EeK0p4PkXjd-_Q" id="(0.49916805324459235,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_QK9AoO-cEeK0p4PkXjd-_Q" type="Generalization_Edge" source="_JhQv0O-cEeK0p4PkXjd-_Q" target="_fyt_oO3vEeKwLp35IbAIig" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5dmmZNW2EeeK7fKfT_QGQw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5dmmZdW2EeeK7fKfT_QGQw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_QK-OwO-cEeK0p4PkXjd-_Q" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_5BY8kK6HEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_QK-Owe-cEeK0p4PkXjd-_Q" x="-16" y="75"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_QK9nsO-cEeK0p4PkXjd-_Q" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_QKhi0O-cEeK0p4PkXjd-_Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QK9nse-cEeK0p4PkXjd-_Q" points="[220, 640, -643984, -643984]$[220, 600, -643984, -643984]$[540, 600, -643984, -643984]$[540, 541, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QLCgMO-cEeK0p4PkXjd-_Q" id="(0.39603960396039606,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QLCgMe-cEeK0p4PkXjd-_Q" id="(0.49916805324459235,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LuSZUO-iEeK0p4PkXjd-_Q" type="Generalization_Edge" source="_GwJEUO-iEeK0p4PkXjd-_Q" target="_fyt_oO3vEeKwLp35IbAIig" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5dmmYNW2EeeK7fKfT_QGQw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5dmmYdW2EeeK7fKfT_QGQw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LuSZU--iEeK0p4PkXjd-_Q" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_520IsK6HEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LuSZVO-iEeK0p4PkXjd-_Q" x="-159" y="64"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_LuSZUe-iEeK0p4PkXjd-_Q" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_LuAFcO-iEeK0p4PkXjd-_Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LuSZUu-iEeK0p4PkXjd-_Q"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LuYf8O-iEeK0p4PkXjd-_Q" id="(0.49586776859504134,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LuYf8e-iEeK0p4PkXjd-_Q" id="(0.4825291181364393,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_02FVsO-lEeK0p4PkXjd-_Q" type="Generalization_Edge" source="_xaib4O-lEeK0p4PkXjd-_Q" target="_fyt_oO3vEeKwLp35IbAIig" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5dl_VNW2EeeK7fKfT_QGQw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5dl_VdW2EeeK7fKfT_QGQw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_02LcUO-lEeK0p4PkXjd-_Q" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_wso4IK6HEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_02LcUe-lEeK0p4PkXjd-_Q" x="-4" y="32"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_02FVse-lEeK0p4PkXjd-_Q" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_01zB0O-lEeK0p4PkXjd-_Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_02FVsu-lEeK0p4PkXjd-_Q" points="[680, 640, -643984, -643984]$[680, 600, -643984, -643984]$[540, 600, -643984, -643984]$[540, 541, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_02LcUu-lEeK0p4PkXjd-_Q" id="(0.3305785123966942,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_02LcU--lEeK0p4PkXjd-_Q" id="(0.49916805324459235,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_a9MgMBZ1EeOZwp016gnCFQ" type="Generalization_Edge" source="_XyHrUBZ1EeOZwp016gnCFQ" target="_fyt_oO3vEeKwLp35IbAIig" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5dkxMNW2EeeK7fKfT_QGQw" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5dlYQNW2EeeK7fKfT_QGQw" key="routing" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a9MgMxZ1EeOZwp016gnCFQ" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_wTHk4K6HEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a9MgNBZ1EeOZwp016gnCFQ" x="-121" y="43"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_a9MgMRZ1EeOZwp016gnCFQ" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_a8mqUBZ1EeOZwp016gnCFQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a9MgMhZ1EeOZwp016gnCFQ" points="[1000, 640, -643984, -643984]$[1000, 600, -643984, -643984]$[540, 600, -643984, -643984]$[540, 541, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a9MgNRZ1EeOZwp016gnCFQ" id="(0.49586776859504134,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a9MgNhZ1EeOZwp016gnCFQ" id="(0.49916805324459235,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LYqxhK5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_JSk6cO5mEeK0p4PkXjd-_Q" target="_LYqxgK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_LYqxha5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LYqxia5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="layers.uml#_JSMf8O5mEeK0p4PkXjd-_Q"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LYqxhq5qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LYqxh65qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LYqxiK5qEeeUVoYywick3g"/>
-    </edges>
     <edges xmi:type="notation:Connector" xmi:id="_FGlhYM-FEeep-sEmK3jrig" type="Generalization_Edge" source="_DFt10M-FEeep-sEmK3jrig" target="_fyt_oO3vEeKwLp35IbAIig">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5dl_UNW2EeeK7fKfT_QGQw" source="PapyrusCSSForceValue">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5dl_UdW2EeeK7fKfT_QGQw" key="routing" value="true"/>
@@ -6203,55 +4909,29 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FIcikM-FEeep-sEmK3jrig" id="(0.6837606837606838,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FIcikc-FEeep-sEmK3jrig" id="(0.49916805324459235,1.0)"/>
     </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_shDs4KU6EeiVgsJY_OrQeg" type="Generalization_Edge" source="_sA3w8KU6EeiVgsJY_OrQeg" target="_fyt_oO3vEeKwLp35IbAIig">
+      <children xmi:type="notation:DecorationNode" xmi:id="_shDs46U6EeiVgsJY_OrQeg" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_tq5p0KU6EeiVgsJY_OrQeg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_shDs5KU6EeiVgsJY_OrQeg" y="39"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_shDs4aU6EeiVgsJY_OrQeg"/>
+      <element xmi:type="uml:Generalization" href="layers.uml#_0OlN0XVZEeipp8d5W3Vl9g"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_shDs4qU6EeiVgsJY_OrQeg" points="[640, 654, -643984, -643984]$[640, 600, -643984, -643984]$[540, 600, -643984, -643984]$[540, 541, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tqZ6kKU6EeiVgsJY_OrQeg" id="(0.5673758865248227,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tNU9AKU6EeiVgsJY_OrQeg" id="(0.49916805324459235,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Tu0X1b2jEeiOA5QgX2jOSg" type="StereotypeCommentLink" source="_JSk6cO5mEeK0p4PkXjd-_Q" target="_Tu0X0b2jEeiOA5QgX2jOSg">
+      <styles xmi:type="notation:FontStyle" xmi:id="_Tu0X1r2jEeiOA5QgX2jOSg"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Tu0X2r2jEeiOA5QgX2jOSg" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="layers.uml#_JSMf8O5mEeK0p4PkXjd-_Q"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Tu0X172jEeiOA5QgX2jOSg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Tu0X2L2jEeiOA5QgX2jOSg"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Tu0X2b2jEeiOA5QgX2jOSg"/>
+    </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_Up8U8P91EeKlldop5b2mtw" type="PapyrusUMLClassDiagram" name="LayerOperators" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_mqw8QAkcEeOnVqX9VcfeWQ" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mq3C4AkcEeOnVqX9VcfeWQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mq3C4QkcEeOnVqX9VcfeWQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mq9JgAkcEeOnVqX9VcfeWQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mq9JgQkcEeOnVqX9VcfeWQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mq9JggkcEeOnVqX9VcfeWQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mq9JgwkcEeOnVqX9VcfeWQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mq9JhAkcEeOnVqX9VcfeWQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_mq9JhQkcEeOnVqX9VcfeWQ" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_FKWlwAw_EeOjX-JbGFEH7w" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#__XEYgAw-EeOjX-JbGFEH7w"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_FKWlwQw_EeOjX-JbGFEH7w" x="85" y="11"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_mq9JhgkcEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_mq9JhwkcEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_mq9JiAkcEeOnVqX9VcfeWQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mq9JiQkcEeOnVqX9VcfeWQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_mq9JigkcEeOnVqX9VcfeWQ" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_Dh-88AxDEeOjX-JbGFEH7w" type="Operation_ClassOperationLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Operation" href="layers.uml#_Dhl7YAxDEeOjX-JbGFEH7w"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_Dh-88QxDEeOjX-JbGFEH7w"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_0VwJkA3SEeOjX-JbGFEH7w" type="Operation_ClassOperationLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Operation" href="layers.uml#_0VaLUA3SEeOjX-JbGFEH7w"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_0VwJkQ3SEeOjX-JbGFEH7w"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_mq9JiwkcEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_mq9JjAkcEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_mq9JjQkcEeOnVqX9VcfeWQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mq9JjgkcEeOnVqX9VcfeWQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_mq9JjwkcEeOnVqX9VcfeWQ" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_mq9JkAkcEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_mq9JkQkcEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_mq9JkgkcEeOnVqX9VcfeWQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mq9JkwkcEeOnVqX9VcfeWQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LZeCwa5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LZeCwq5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_WuVRUNjjEeKQqZMBCFd2Uw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mqw8QQkcEeOnVqX9VcfeWQ" x="40" y="360" width="261" height="141"/>
-    </children>
     <children xmi:type="notation:Shape" xmi:id="_GLILsAkdEeOnVqX9VcfeWQ" type="Class_Shape" fontName="Segoe UI" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GLILsgkdEeOnVqX9VcfeWQ" source="ShadowFigure">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GLILswkdEeOnVqX9VcfeWQ" key="ShadowFigure_Value" value="false"/>
@@ -6398,6 +5078,18 @@
           <element xmi:type="uml:Property" href="layers.uml#_8J3zEAklEeOnVqX9VcfeWQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_AmaP0QkmEeOnVqX9VcfeWQ" x="78" y="14"/>
         </children>
+        <children xmi:type="notation:Shape" xmi:id="_Of3mgLy6EeiViahAib_JMw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="layers.uml#_MI1TILy5EeiViahAib_JMw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_Of3mgby6EeiViahAib_JMw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_OgdcYLy6EeiViahAib_JMw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="layers.uml#_SdHUoLy5EeiViahAib_JMw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_OgdcYby6EeiViahAib_JMw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_OhNDQLy6EeiViahAib_JMw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="layers.uml#_5VRRALy5EeiViahAib_JMw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_OhNDQby6EeiViahAib_JMw"/>
+        </children>
         <styles xmi:type="notation:TitleStyle" xmi:id="_wlZj-gkdEeOnVqX9VcfeWQ"/>
         <styles xmi:type="notation:SortingStyle" xmi:id="_wlZj-wkdEeOnVqX9VcfeWQ"/>
         <styles xmi:type="notation:FilteringStyle" xmi:id="_wlZj_AkdEeOnVqX9VcfeWQ"/>
@@ -6408,6 +5100,10 @@
           <element xmi:type="uml:Operation" href="layers.uml#_WKdZYAkhEeOnVqX9VcfeWQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_oF32EQkhEeOnVqX9VcfeWQ" x="77" y="23"/>
         </children>
+        <children xmi:type="notation:Shape" xmi:id="_PTjGMLy6EeiViahAib_JMw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="layers.uml#_-H7uwLy5EeiViahAib_JMw"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_PTjGMby6EeiViahAib_JMw"/>
+        </children>
         <styles xmi:type="notation:TitleStyle" xmi:id="_wlZj_wkdEeOnVqX9VcfeWQ"/>
         <styles xmi:type="notation:SortingStyle" xmi:id="_wlZkAAkdEeOnVqX9VcfeWQ"/>
         <styles xmi:type="notation:FilteringStyle" xmi:id="_wlZkAQkdEeOnVqX9VcfeWQ"/>
@@ -6423,42 +5119,7 @@
         <layoutConstraint xmi:type="notation:Location" xmi:id="_LZep1a5qEeeUVoYywick3g" y="5"/>
       </children>
       <element xmi:type="uml:Class" href="layers.uml#_wk7C0AkdEeOnVqX9VcfeWQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wlZj8QkdEeOnVqX9VcfeWQ" x="1160" y="360" width="261" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_G-_bIAkpEeOnVqX9VcfeWQ" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G-_bIgkpEeOnVqX9VcfeWQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G-_bIwkpEeOnVqX9VcfeWQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G-_bJAkpEeOnVqX9VcfeWQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G-_bJQkpEeOnVqX9VcfeWQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G-_bJgkpEeOnVqX9VcfeWQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G-_bJwkpEeOnVqX9VcfeWQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G-_bKAkpEeOnVqX9VcfeWQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_G-_bKQkpEeOnVqX9VcfeWQ" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_G-_bKgkpEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_G-_bKwkpEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_G-_bLAkpEeOnVqX9VcfeWQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G-_bLQkpEeOnVqX9VcfeWQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_G-_bLgkpEeOnVqX9VcfeWQ" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_G-_bLwkpEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_G-_bMAkpEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_G-_bMQkpEeOnVqX9VcfeWQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G-_bMgkpEeOnVqX9VcfeWQ"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_G-_bMwkpEeOnVqX9VcfeWQ" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_G-_bNAkpEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_G-_bNQkpEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_G-_bNgkpEeOnVqX9VcfeWQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G-_bNwkpEeOnVqX9VcfeWQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LZep1q5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LZep165qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_G-g6AAkpEeOnVqX9VcfeWQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G-_bIQkpEeOnVqX9VcfeWQ" x="1160" y="560" width="141" height="121"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wlZj8QkdEeOnVqX9VcfeWQ" x="1160" y="360" width="261" height="181"/>
     </children>
     <children xmi:type="notation:Shape" xmi:id="_ELjJgAkxEeOnVqX9VcfeWQ" type="Class_Shape" fontName="Segoe UI" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ELjJggkxEeOnVqX9VcfeWQ" source="ShadowFigure">
@@ -6530,201 +5191,50 @@
       <element xmi:type="uml:Class" href="layers.uml#_Hxsw0AkxEeOnVqX9VcfeWQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HyFLUQkxEeOnVqX9VcfeWQ" x="660" y="560" width="221" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_muS64AnsEeOnVqX9VcfeWQ" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_muS64gnsEeOnVqX9VcfeWQ" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_muS64wnsEeOnVqX9VcfeWQ" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_muS65AnsEeOnVqX9VcfeWQ" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_muS65QnsEeOnVqX9VcfeWQ" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_muS65gnsEeOnVqX9VcfeWQ" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_muS65wnsEeOnVqX9VcfeWQ" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_muS66AnsEeOnVqX9VcfeWQ" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_muS66QnsEeOnVqX9VcfeWQ" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_zQxkAAnsEeOnVqX9VcfeWQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_yEySAAnsEeOnVqX9VcfeWQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_zQxkAQnsEeOnVqX9VcfeWQ" x="59" y="4"/>
+    <children xmi:type="notation:Shape" xmi:id="_dBdTMLUQEeiPJeGnZrmqWw" type="Class_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_dBd6QLUQEeiPJeGnZrmqWw" type="Class_NameLabel"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_dBd6QbUQEeiPJeGnZrmqWw" type="Class_FloatingNameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_dBd6QrUQEeiPJeGnZrmqWw" y="15"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dBd6Q7UQEeiPJeGnZrmqWw" type="Class_AttributeCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_leZDQLUQEeiPJeGnZrmqWw" type="Property_ClassAttributeLabel">
+          <element xmi:type="uml:Property" href="layers.uml#__XEYgAw-EeOjX-JbGFEH7w"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_leZDQbUQEeiPJeGnZrmqWw"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_XTyfQAntEeOnVqX9VcfeWQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_XTdvIAntEeOnVqX9VcfeWQ"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_XTyfQQntEeOnVqX9VcfeWQ"/>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dBd6RLUQEeiPJeGnZrmqWw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dBd6RbUQEeiPJeGnZrmqWw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dBd6RrUQEeiPJeGnZrmqWw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dBd6R7UQEeiPJeGnZrmqWw"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dBd6SLUQEeiPJeGnZrmqWw" type="Class_OperationCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_klY-sLUQEeiPJeGnZrmqWw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="layers.uml#_Dhl7YAxDEeOjX-JbGFEH7w"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_klY-sbUQEeiPJeGnZrmqWw"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_uNebYA3gEeOjX-JbGFEH7w" type="Property_ClassAttributeLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Property" href="layers.uml#_XwmlsA3gEeOjX-JbGFEH7w"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_uNebYQ3gEeOjX-JbGFEH7w" x="54" y="45"/>
+        <children xmi:type="notation:Shape" xmi:id="_kl58ELUQEeiPJeGnZrmqWw" type="Operation_ClassOperationLabel">
+          <element xmi:type="uml:Operation" href="layers.uml#_0VaLUA3SEeOjX-JbGFEH7w"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_kl58EbUQEeiPJeGnZrmqWw"/>
         </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_muS66gnsEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_muS66wnsEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_muS67AnsEeOnVqX9VcfeWQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_muS67QnsEeOnVqX9VcfeWQ"/>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dBd6SbUQEeiPJeGnZrmqWw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dBd6SrUQEeiPJeGnZrmqWw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dBd6S7UQEeiPJeGnZrmqWw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dBd6TLUQEeiPJeGnZrmqWw"/>
       </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_muS67gnsEeOnVqX9VcfeWQ" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_vb3hIA3gEeOjX-JbGFEH7w" type="Operation_ClassOperationLabel" fontName="Segoe UI" lineColor="0">
-          <element xmi:type="uml:Operation" href="layers.uml#_vbiJ8A3gEeOjX-JbGFEH7w"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_vb3hIQ3gEeOjX-JbGFEH7w"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_muS67wnsEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_muS68AnsEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_muS68QnsEeOnVqX9VcfeWQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_muS68gnsEeOnVqX9VcfeWQ"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_dBd6TbUQEeiPJeGnZrmqWw" type="Class_NestedClassifierCompartment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_dBd6TrUQEeiPJeGnZrmqWw"/>
+        <styles xmi:type="notation:SortingStyle" xmi:id="_dBd6T7UQEeiPJeGnZrmqWw"/>
+        <styles xmi:type="notation:FilteringStyle" xmi:id="_dBd6ULUQEeiPJeGnZrmqWw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dBd6UbUQEeiPJeGnZrmqWw"/>
       </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_muS68wnsEeOnVqX9VcfeWQ" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_muS69AnsEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_muS69QnsEeOnVqX9VcfeWQ"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_muS69gnsEeOnVqX9VcfeWQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_muS69wnsEeOnVqX9VcfeWQ"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LZep3K5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LZep3a5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_mt6gYAnsEeOnVqX9VcfeWQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_muS64QnsEeOnVqX9VcfeWQ" x="1360" y="560" width="221" height="121"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_G71l8AxJEeOjX-JbGFEH7w" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G71l8gxJEeOjX-JbGFEH7w" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G71l8wxJEeOjX-JbGFEH7w" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G71l9AxJEeOjX-JbGFEH7w" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G71l9QxJEeOjX-JbGFEH7w" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G71l9gxJEeOjX-JbGFEH7w" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G71l9wxJEeOjX-JbGFEH7w" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_G71l-AxJEeOjX-JbGFEH7w" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_G71l-QxJEeOjX-JbGFEH7w" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_G71l-gxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_G71l-wxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_G71l_AxJEeOjX-JbGFEH7w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G71l_QxJEeOjX-JbGFEH7w"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_G71l_gxJEeOjX-JbGFEH7w" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_G71l_wxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_G71mAAxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_G71mAQxJEeOjX-JbGFEH7w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G71mAgxJEeOjX-JbGFEH7w"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_G71mAwxJEeOjX-JbGFEH7w" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_G71mBAxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_G71mBQxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_G71mBgxJEeOjX-JbGFEH7w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G71mBwxJEeOjX-JbGFEH7w"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LZep3q5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LZep365qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_G7XE0AxJEeOjX-JbGFEH7w"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_G71l8QxJEeOjX-JbGFEH7w" x="800" y="720" width="241" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_LU3bsAxJEeOjX-JbGFEH7w" type="Class_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LU3bsgxJEeOjX-JbGFEH7w" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LU3bswxJEeOjX-JbGFEH7w" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LU3btAxJEeOjX-JbGFEH7w" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LU3btQxJEeOjX-JbGFEH7w" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_LU3btgxJEeOjX-JbGFEH7w" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_LU3btwxJEeOjX-JbGFEH7w" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LU3buAxJEeOjX-JbGFEH7w" type="Class_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_LU3buQxJEeOjX-JbGFEH7w" type="Class_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_LU3bugxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LU3buwxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LU3bvAxJEeOjX-JbGFEH7w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU3bvQxJEeOjX-JbGFEH7w"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_LU3bvgxJEeOjX-JbGFEH7w" type="Class_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_LU3bvwxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LU3bwAxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LU3bwQxJEeOjX-JbGFEH7w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU3bwgxJEeOjX-JbGFEH7w"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_LU3bwwxJEeOjX-JbGFEH7w" type="Class_NestedClassifierCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_LU3bxAxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="_LU3bxQxJEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="_LU3bxgxJEeOjX-JbGFEH7w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU3bxwxJEeOjX-JbGFEH7w"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LZep4K5qEeeUVoYywick3g" type="Class_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LZep4a5qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:Class" href="layers.uml#_LUfBMAxJEeOjX-JbGFEH7w"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LU3bsQxJEeOjX-JbGFEH7w" x="520" y="720" width="241" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="__Arl4AxLEeOjX-JbGFEH7w" type="PrimitiveType_Shape" fontName="Segoe UI" lineColor="0">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__AsM8AxLEeOjX-JbGFEH7w" source="ShadowFigure">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__As0AAxLEeOjX-JbGFEH7w" key="ShadowFigure_Value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__As0AQxLEeOjX-JbGFEH7w" source="displayNameLabelIcon">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__As0AgxLEeOjX-JbGFEH7w" key="displayNameLabelIcon_value" value="false"/>
-      </eAnnotations>
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__As0AwxLEeOjX-JbGFEH7w" source="QualifiedName">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__As0BAxLEeOjX-JbGFEH7w" key="QualifiedNameDepth" value="1000"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="__As0BQxLEeOjX-JbGFEH7w" type="PrimitiveType_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="__As0BgxLEeOjX-JbGFEH7w" type="PrimitiveType_AttributeCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="__As0BwxLEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="__As0CAxLEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="__As0CQxLEeOjX-JbGFEH7w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__As0CgxLEeOjX-JbGFEH7w"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="__AtbEAxLEeOjX-JbGFEH7w" type="PrimitiveType_OperationCompartment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="__AtbEQxLEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:SortingStyle" xmi:id="__AtbEgxLEeOjX-JbGFEH7w"/>
-        <styles xmi:type="notation:FilteringStyle" xmi:id="__AtbEwxLEeOjX-JbGFEH7w"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="__AtbFAxLEeOjX-JbGFEH7w"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_LZep4q5qEeeUVoYywick3g" type="PrimitiveType_FloatingNameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LZep465qEeeUVoYywick3g" y="5"/>
-      </children>
-      <element xmi:type="uml:PrimitiveType" href="layers.uml#__ADTwAxLEeOjX-JbGFEH7w"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__Arl4QxLEeOjX-JbGFEH7w" x="1480" y="360" width="241" height="101"/>
-    </children>
-    <children xmi:type="notation:Shape" xmi:id="_LZjiXK5qEeeUVoYywick3g" type="StereotypeComment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_LZjiXa5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LZkJYK5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#__ADTwAxLEeOjX-JbGFEH7w"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LZjiXq5qEeeUVoYywick3g" x="200" y="100"/>
+      <element xmi:type="uml:Class" href="layers.uml#_HoKjcNjjEeKQqZMBCFd2Uw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dBdTMbUQEeiPJeGnZrmqWw" x="80" y="360" width="261" height="141"/>
     </children>
     <styles xmi:type="notation:DiagramStyle" xmi:id="_Up8U8f91EeKlldop5b2mtw"/>
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LZeCwK5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LZl-kK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LZl-kK5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_KTjZoAkdEeOnVqX9VcfeWQ" type="Association_Edge" source="_mqw8QAkcEeOnVqX9VcfeWQ" target="_GLILsAkdEeOnVqX9VcfeWQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_KTknwAkdEeOnVqX9VcfeWQ" visible="false" type="Association_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_M1vNoK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KTlO0AkdEeOnVqX9VcfeWQ" x="1" y="-18"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KTlO0QkdEeOnVqX9VcfeWQ" visible="false" type="Association_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_M2LSgK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KTlO0gkdEeOnVqX9VcfeWQ" y="19"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KTlO0wkdEeOnVqX9VcfeWQ" visible="false" type="Association_TargetRoleLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_M2e0gK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KTlO1AkdEeOnVqX9VcfeWQ" x="28" y="-18"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KTlO1QkdEeOnVqX9VcfeWQ" type="Association_SourceRoleLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_M2xvcK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KTl14AkdEeOnVqX9VcfeWQ" x="-74" y="7"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KTl14QkdEeOnVqX9VcfeWQ" visible="false" type="Association_SourceMultiplicityLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_M3EqYK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KTl14gkdEeOnVqX9VcfeWQ" x="28" y="19"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_KTl14wkdEeOnVqX9VcfeWQ" type="Association_TargetMultiplicityLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_M3XlUK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_KTl15AkdEeOnVqX9VcfeWQ" x="-15" y="-13"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KTjZoQkdEeOnVqX9VcfeWQ" fontName="Segoe UI"/>
-      <element xmi:type="uml:Association" href="layers.uml#_KSvhUAkdEeOnVqX9VcfeWQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KTjZogkdEeOnVqX9VcfeWQ" points="[306, 426, -643984, -643984]$[440, 420, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KTyqMAkdEeOnVqX9VcfeWQ" id="(1.0,0.425531914893617)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KTyqMQkdEeOnVqX9VcfeWQ" id="(0.0,0.425531914893617)"/>
-    </edges>
     <edges xmi:type="notation:Connector" xmi:id="_X849IAkdEeOnVqX9VcfeWQ" type="Association_Edge" source="_T6PAAAkdEeOnVqX9VcfeWQ" target="_GLILsAkdEeOnVqX9VcfeWQ" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_X849IwkdEeOnVqX9VcfeWQ" visible="false" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_I_q7AK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
@@ -6816,18 +5326,7 @@
       <element xmi:type="uml:Association" href="layers.uml#_5x5vwAkdEeOnVqX9VcfeWQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5yYQ4gkdEeOnVqX9VcfeWQ" points="[990, 420, -643984, -643984]$[1157, 420, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ykeIAkdEeOnVqX9VcfeWQ" id="(1.0,0.425531914893617)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ykeIQkdEeOnVqX9VcfeWQ" id="(0.0,0.594059405940594)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LBOhgAkpEeOnVqX9VcfeWQ" type="Generalization_Edge" source="_G-_bIAkpEeOnVqX9VcfeWQ" target="_wlZj8AkdEeOnVqX9VcfeWQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_LBOhgwkpEeOnVqX9VcfeWQ" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_RzgIIK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_LBOhhAkpEeOnVqX9VcfeWQ" x="1" y="38"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_LBOhgQkpEeOnVqX9VcfeWQ" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_LAjzIAkpEeOnVqX9VcfeWQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LBOhggkpEeOnVqX9VcfeWQ" points="[1249, 552, -643984, -643984]$[1194, 470, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LBUoIAkpEeOnVqX9VcfeWQ" id="(0.5673758865248227,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LBUoIQkpEeOnVqX9VcfeWQ" id="(0.3065134099616858,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ykeIQkdEeOnVqX9VcfeWQ" id="(0.0,0.3314917127071823)"/>
     </edges>
     <edges xmi:type="notation:Connector" xmi:id="_OOdY4AkxEeOnVqX9VcfeWQ" type="Generalization_Edge" source="_ELjJgAkxEeOnVqX9VcfeWQ" target="_GLILsAkdEeOnVqX9VcfeWQ" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_OOdY4wkxEeOnVqX9VcfeWQ" type="Generalization_StereotypeLabel">
@@ -6851,39 +5350,6 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PRWZQAkxEeOnVqX9VcfeWQ" id="(0.36199095022624433,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PRWZQQkxEeOnVqX9VcfeWQ" id="(0.5545286506469501,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_SfzL0AntEeOnVqX9VcfeWQ" type="Generalization_Edge" source="_muS64AnsEeOnVqX9VcfeWQ" target="_wlZj8AkdEeOnVqX9VcfeWQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Sf0Z8AntEeOnVqX9VcfeWQ" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Rz80EK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Sf0Z8QntEeOnVqX9VcfeWQ" x="-1" y="38"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_SfzL0QntEeOnVqX9VcfeWQ" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_SfZjMAntEeOnVqX9VcfeWQ"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SfzL0gntEeOnVqX9VcfeWQ" points="[1460, 560, -643984, -643984]$[1460, 500, -643984, -643984]$[1360, 500, -643984, -643984]$[1360, 461, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sf4EUAntEeOnVqX9VcfeWQ" id="(0.45248868778280543,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sf4EUQntEeOnVqX9VcfeWQ" id="(0.7662835249042146,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_TziRIAxJEeOjX-JbGFEH7w" type="Generalization_Edge" source="_LU3bsAxJEeOjX-JbGFEH7w" target="_HyFLUAkxEeOnVqX9VcfeWQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_TziRIwxJEeOjX-JbGFEH7w" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_al-qYK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_TziRJAxJEeOjX-JbGFEH7w" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_TziRIQxJEeOjX-JbGFEH7w" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_TzDwAAxJEeOjX-JbGFEH7w"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TziRIgxJEeOjX-JbGFEH7w" points="[700, 720, -643984, -643984]$[720, 661, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TzoXwAxJEeOjX-JbGFEH7w" id="(0.8298755186721992,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TzoXwQxJEeOjX-JbGFEH7w" id="(0.27149321266968324,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_UrLDwAxJEeOjX-JbGFEH7w" type="Generalization_Edge" source="_G71l8AxJEeOjX-JbGFEH7w" target="_HyFLUAkxEeOnVqX9VcfeWQ" lineColor="0">
-      <children xmi:type="notation:DecorationNode" xmi:id="_UrLDwwxJEeOjX-JbGFEH7w" type="Generalization_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_amRlUK6EEeeUVoYywick3g" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_UrRKYAxJEeOjX-JbGFEH7w" y="40"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_UrLDwQxJEeOjX-JbGFEH7w" fontName="Segoe UI"/>
-      <element xmi:type="uml:Generalization" href="layers.uml#_Uq4v4AxJEeOjX-JbGFEH7w"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UrLDwgxJEeOjX-JbGFEH7w" points="[848, 720, -643984, -643984]$[840, 661, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UrRKYQxJEeOjX-JbGFEH7w" id="(0.16597510373443983,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UrRKYgxJEeOjX-JbGFEH7w" id="(0.8144796380090498,1.0)"/>
-    </edges>
     <edges xmi:type="notation:Connector" xmi:id="_LZhGFK5qEeeUVoYywick3g" type="StereotypeCommentLink" source="_rUDAsA2fEeOjX-JbGFEH7w" target="_LZhGEK5qEeeUVoYywick3g">
       <styles xmi:type="notation:FontStyle" xmi:id="_LZhGFa5qEeeUVoYywick3g"/>
       <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LZhGGa5qEeeUVoYywick3g" name="BASE_ELEMENT">
@@ -6894,15 +5360,30 @@
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LZhGF65qEeeUVoYywick3g"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LZhGGK5qEeeUVoYywick3g"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_LZkJYa5qEeeUVoYywick3g" type="StereotypeCommentLink" source="__Arl4AxLEeOjX-JbGFEH7w" target="_LZjiXK5qEeeUVoYywick3g">
-      <styles xmi:type="notation:FontStyle" xmi:id="_LZkJYq5qEeeUVoYywick3g"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LZkJZq5qEeeUVoYywick3g" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:PrimitiveType" href="layers.uml#__ADTwAxLEeOjX-JbGFEH7w"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LZkJY65qEeeUVoYywick3g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LZkJZK5qEeeUVoYywick3g"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LZkJZa5qEeeUVoYywick3g"/>
+    <edges xmi:type="notation:Connector" xmi:id="_gG4MALUQEeiPJeGnZrmqWw" type="Association_Edge" source="_dBdTMLUQEeiPJeGnZrmqWw" target="_GLILsAkdEeOnVqX9VcfeWQ">
+      <children xmi:type="notation:DecorationNode" xmi:id="_gG4MA7UQEeiPJeGnZrmqWw" type="Association_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gG4MBLUQEeiPJeGnZrmqWw" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gG4MBbUQEeiPJeGnZrmqWw" type="Association_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gG4MBrUQEeiPJeGnZrmqWw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gG4MB7UQEeiPJeGnZrmqWw" type="Association_TargetRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gG4MCLUQEeiPJeGnZrmqWw" y="-20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gG4MCbUQEeiPJeGnZrmqWw" type="Association_SourceRoleLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gG4MCrUQEeiPJeGnZrmqWw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gG4MC7UQEeiPJeGnZrmqWw" type="Association_SourceMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gG4MDLUQEeiPJeGnZrmqWw" y="20"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_gG4MDbUQEeiPJeGnZrmqWw" type="Association_TargetMultiplicityLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_gG4MDrUQEeiPJeGnZrmqWw" y="-20"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_gG4MAbUQEeiPJeGnZrmqWw"/>
+      <element xmi:type="uml:Association" href="layers.uml#_gF7JwLUQEeiPJeGnZrmqWw"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gG4MArUQEeiPJeGnZrmqWw" points="[280, 360, -643984, -643984]$[520, 501, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gHoZ8LUQEeiPJeGnZrmqWw" id="(1.0,0.5673758865248227)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gHoZ8bUQEeiPJeGnZrmqWw" id="(0.0,0.5673758865248227)"/>
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_Vjf6UHbuEeOlpfB_tZS-QA" type="PapyrusUMLClassDiagram" name="LayersStack" measurementUnit="Pixel">
@@ -7229,7 +5710,7 @@
     <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_LNxwIK5qEeeUVoYywick3g" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
       <owner xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     </styles>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_LODc8K5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.3.0"/>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_LODc8K5qEeeUVoYywick3g" name="diagram_compatibility_version" stringValue="1.4.0"/>
     <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
     <edges xmi:type="notation:Connector" xmi:id="_bGfpC3buEeOlpfB_tZS-QA" type="Generalization_Edge" source="_bGfrN3buEeOlpfB_tZS-QA" target="_bGfo0HbuEeOlpfB_tZS-QA" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_bGfpDHbuEeOlpfB_tZS-QA" type="Generalization_StereotypeLabel">
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.uml b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.uml
index 6b9ff5c..5ded82f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.uml
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layers.uml
@@ -1,117 +1,117 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
   <uml:Model xmi:id="_gAOFQLcqEeK8_t7Rpq6ZJA" name="Layers" URI="">
-    <ownedComment xmi:id="_7_dC4HbuEeOlpfB_tZS-QA" annotatedElement="_gAOFQLcqEeK8_t7Rpq6ZJA">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_7_dC4HbuEeOlpfB_tZS-QA" annotatedElement="_gAOFQLcqEeK8_t7Rpq6ZJA">
       <body>Start the LayesStack.&#xD;
 This method should be called after the LayersStack creation. It is not called from the constructor, because &#xD;
 the initialisation can differ if the LayersStack is created by the user or by EMF after a reloading.&#xD;
 </body>
     </ownedComment>
-    <packageImport xmi:id="_uhlc8LcqEeK8_t7Rpq6ZJA">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_uhlc8LcqEeK8_t7Rpq6ZJA">
       <importedPackage xmi:type="uml:Model" href="notation/notation.uml#_AziHILcnEeKeLJDBCBPhPw"/>
     </packageImport>
-    <packageImport xmi:id="_7C5bkNBYEee6_PI6xaXFIg">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_7C5bkNBYEee6_PI6xaXFIg">
       <importedPackage xmi:type="uml:Model" href="pathmap://STYLESHEETS/StyleSheets.uml#_MeGMUNBHEeeeIb5NcUL5SQ"/>
     </packageImport>
     <packagedElement xmi:type="uml:Class" xmi:id="_yN_dQLcqEeK8_t7Rpq6ZJA" name="LayerNamedStyle">
-      <generalization xmi:id="_0NyKwLcqEeK8_t7Rpq6ZJA">
+      <generalization xmi:type="uml:Generalization" xmi:id="_0NyKwLcqEeK8_t7Rpq6ZJA">
         <general xmi:type="uml:Class" href="notation/notation.uml#_AziHercnEeKeLJDBCBPhPw"/>
       </generalization>
-      <ownedAttribute xmi:id="_jWHHANa7EeKPiuTfpuvqHA" name="layersStack" type="_gT0asNa7EeKPiuTfpuvqHA" aggregation="composite" association="_jWQ4ANa7EeKPiuTfpuvqHA">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_jWHHANa7EeKPiuTfpuvqHA" name="layersStack" type="_gT0asNa7EeKPiuTfpuvqHA" aggregation="composite" association="_jWQ4ANa7EeKPiuTfpuvqHA">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jWHHAda7EeKPiuTfpuvqHA"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jWHHAta7EeKPiuTfpuvqHA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_OyQ5QL1xEeKKJJ5BmR3W3Q" name="String"/>
     <packagedElement xmi:type="uml:Class" xmi:id="_eNnjMNa7EeKPiuTfpuvqHA" name="LayerDescriptor">
-      <ownedAttribute xmi:id="_iiUlMNqCEeKQqZMBCFd2Uw" name="propertyRegistry" type="_8OefoNjoEeKQqZMBCFd2Uw" association="_iim5ENqCEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_iiUlMNqCEeKQqZMBCFd2Uw" name="propertyRegistry" type="_8OefoNjoEeKQqZMBCFd2Uw" association="_iim5ENqCEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iiUlMdqCEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iiUlMtqCEeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_gT0asNa7EeKPiuTfpuvqHA" name="LayersStack">
-      <ownedAttribute xmi:id="_cHaqsNbGEeKPiuTfpuvqHA" name="layers" type="_9IaAANjiEeKQqZMBCFd2Uw" aggregation="composite" association="_cHkbsNbGEeKPiuTfpuvqHA">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_cHaqsNbGEeKPiuTfpuvqHA" name="layers" type="_9IaAANjiEeKQqZMBCFd2Uw" aggregation="composite" association="_cHkbsNbGEeKPiuTfpuvqHA">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cHaqsdbGEeKPiuTfpuvqHA"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cHaqstbGEeKPiuTfpuvqHA" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_ctvjINjwEeKQqZMBCFd2Uw" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ctvjINjwEeKQqZMBCFd2Uw" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ctvjIdjwEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ctvjItjwEeKQqZMBCFd2Uw" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_ctvjI9jwEeKQqZMBCFd2Uw">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_ct7wYNjwEeKQqZMBCFd2Uw" name="description" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ct7wYNjwEeKQqZMBCFd2Uw" name="description" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ct7wYdjwEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ct7wYtjwEeKQqZMBCFd2Uw" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_ct7wY9jwEeKQqZMBCFd2Uw">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_hQIS8NkhEeKQqZMBCFd2Uw" name="diagram" association="_hQam0NkhEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_hQIS8NkhEeKQqZMBCFd2Uw" name="diagram" association="_hQam0NkhEeKQqZMBCFd2Uw">
         <type xmi:type="uml:Class" href="notation/notation.uml#_AziHhrcnEeKeLJDBCBPhPw"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQIS8dkhEeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQIS8tkhEeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_c5OEgHl8EeOlpfB_tZS-QA" name="state" visibility="public" type="_8__xgHltEeOlpfB_tZS-QA" isUnique="false">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_c5OEgHl8EeOlpfB_tZS-QA" name="state" visibility="public" type="_8__xgHltEeOlpfB_tZS-QA" isUnique="false">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_c5OEgXl8EeOlpfB_tZS-QA" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_c5OEgnl8EeOlpfB_tZS-QA" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_c5OEg3l8EeOlpfB_tZS-QA" name="detached" value="detached"/>
       </ownedAttribute>
-      <interfaceRealization xmi:id="_2bk1oHpGEeOlpfB_tZS-QA" name="InterfaceRealization1" client="_gT0asNa7EeKPiuTfpuvqHA" supplier="_RopgYHpGEeOlpfB_tZS-QA" contract="_RopgYHpGEeOlpfB_tZS-QA"/>
-      <ownedOperation xmi:id="_8H1xgO70EeK0p4PkXjd-_Q" name="getComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_8H1xge70EeK0p4PkXjd-_Q">
+      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_2bk1oHpGEeOlpfB_tZS-QA" name="InterfaceRealization1" client="_gT0asNa7EeKPiuTfpuvqHA" supplier="_RopgYHpGEeOlpfB_tZS-QA" contract="_RopgYHpGEeOlpfB_tZS-QA"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_8H1xgO70EeK0p4PkXjd-_Q" name="getComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_8H1xge70EeK0p4PkXjd-_Q">
           <body>Get the ComputePropertyValueCommands for the specified views and Property.&#xD;
 @return A list of Command allowing to get the value of the property for each view. The list contains null if no command is available for a View.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_8H1xgu70EeK0p4PkXjd-_Q" name="view">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8H1xgu70EeK0p4PkXjd-_Q" name="view">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_8H1xg-70EeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_8H1xhO70EeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8H1xg-70EeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8H1xhO70EeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_8IAJkO70EeK0p4PkXjd-_Q" name="getPropertiesComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_8IAJke70EeK0p4PkXjd-_Q">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_8IAJkO70EeK0p4PkXjd-_Q" name="getPropertiesComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_8IAJke70EeK0p4PkXjd-_Q">
           <body>Get the ComputePropertyValueCommands for the specified view and Properties.&#xD;
 @return A list of Command allowing to get the value of the properties for the specified view. The list contains null if no command is available for a property.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_8IAJku70EeK0p4PkXjd-_Q" name="view">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8IAJku70EeK0p4PkXjd-_Q" name="view">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_8IAJk-70EeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA" isOrdered="true" direction="inout">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8IAJk-70EeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA" isOrdered="true" direction="inout">
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8IAJlO70EeK0p4PkXjd-_Q" value="1"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8IAJle70EeK0p4PkXjd-_Q" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_8IAJlu70EeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" isOrdered="true" direction="return">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8IAJlu70EeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" isOrdered="true" direction="return">
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8IAJl-70EeK0p4PkXjd-_Q"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8IAJmO70EeK0p4PkXjd-_Q" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_8ILIsO70EeK0p4PkXjd-_Q" name="getViewsComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_8ILIse70EeK0p4PkXjd-_Q">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_8ILIsO70EeK0p4PkXjd-_Q" name="getViewsComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_8ILIse70EeK0p4PkXjd-_Q">
           <body>Get the ComputePropertyValueCommands for the specified view and Property.&#xD;
 @return the Command allowing to get the value, or null.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_8ILIsu70EeK0p4PkXjd-_Q" name="view" isOrdered="true" direction="inout">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8ILIsu70EeK0p4PkXjd-_Q" name="view" isOrdered="true" direction="inout">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8ILIs-70EeK0p4PkXjd-_Q"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8ILItO70EeK0p4PkXjd-_Q" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_8ILIte70EeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_8ILItu70EeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" isOrdered="true" direction="return">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8ILIte70EeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8ILItu70EeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" isOrdered="true" direction="return">
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8ILIt-70EeK0p4PkXjd-_Q"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8ILIuO70EeK0p4PkXjd-_Q" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_rQGJoHbuEeOlpfB_tZS-QA" name="startAfterCreation"/>
-      <ownedOperation xmi:id="_9n-f4HbuEeOlpfB_tZS-QA" name="attachLayers" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_Go6U4HbvEeOlpfB_tZS-QA" annotatedElement="_9n-f4HbuEeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_rQGJoHbuEeOlpfB_tZS-QA" name="startAfterCreation"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_9n-f4HbuEeOlpfB_tZS-QA" name="attachLayers" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_Go6U4HbvEeOlpfB_tZS-QA" annotatedElement="_9n-f4HbuEeOlpfB_tZS-QA">
           <body>Start the LayersStack after a reloading by EMF. This method should be explicitly called after a reloading.&#xD;
 The method usually start the layer behaviors.</body>
         </ownedComment>
       </ownedOperation>
-      <ownedOperation xmi:id="_RnmmUHl8EeOlpfB_tZS-QA" name="attach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_RnmmUXl8EeOlpfB_tZS-QA" annotatedElement="_RnmmUHl8EeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_RnmmUHl8EeOlpfB_tZS-QA" name="attach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_RnmmUXl8EeOlpfB_tZS-QA" annotatedElement="_RnmmUHl8EeOlpfB_tZS-QA">
           <body>Try to attach this Layer. If successful, the state go to &quot;attached&quot;. Otherwise, an exception is thrown.&#xD;
 A Layer can be attached if its required attributes are set.&#xD;
 Required attributes:&#xD;
@@ -125,35 +125,35 @@
 If this Layer is successfully attached, then attach subLayers.</body>
         </ownedComment>
       </ownedOperation>
-      <ownedOperation xmi:id="_RnmmUnl8EeOlpfB_tZS-QA" name="detach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_RnmmU3l8EeOlpfB_tZS-QA" annotatedElement="_RnmmUnl8EeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_RnmmUnl8EeOlpfB_tZS-QA" name="detach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_RnmmU3l8EeOlpfB_tZS-QA" annotatedElement="_RnmmUnl8EeOlpfB_tZS-QA">
           <body>Detach the Layer. The state go to &quot;detached&quot;.&#xD;
 Associated behavior are stopped.</body>
         </ownedComment>
       </ownedOperation>
-      <ownedOperation xmi:id="_RnmmVHl8EeOlpfB_tZS-QA" name="enterAttachedState" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_RnmmVXl8EeOlpfB_tZS-QA" annotatedElement="_RnmmVHl8EeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_RnmmVHl8EeOlpfB_tZS-QA" name="enterAttachedState" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_RnmmVXl8EeOlpfB_tZS-QA" annotatedElement="_RnmmVHl8EeOlpfB_tZS-QA">
           <body>This method is called by the class immediately after entering in attached state.&#xD;
 The methodcan be used to start the layer behaviors.</body>
         </ownedComment>
       </ownedOperation>
-      <ownedOperation xmi:id="_RnmmVnl8EeOlpfB_tZS-QA" name="exitAttachedState">
-        <ownedComment xmi:id="_RnmmV3l8EeOlpfB_tZS-QA" annotatedElement="_RnmmVnl8EeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_RnmmVnl8EeOlpfB_tZS-QA" name="exitAttachedState">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_RnmmV3l8EeOlpfB_tZS-QA" annotatedElement="_RnmmVnl8EeOlpfB_tZS-QA">
           <body>This method is called just before this Layer leave the attached state.&#xD;
 </body>
         </ownedComment>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_jWQ4ANa7EeKPiuTfpuvqHA" name="layerNamedStyle_layerStack_1" memberEnd="_jWQ4Ada7EeKPiuTfpuvqHA _jWHHANa7EeKPiuTfpuvqHA">
-      <ownedEnd xmi:id="_jWQ4Ada7EeKPiuTfpuvqHA" name="layerNamedStyle" type="_yN_dQLcqEeK8_t7Rpq6ZJA" association="_jWQ4ANa7EeKPiuTfpuvqHA">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_jWQ4Ada7EeKPiuTfpuvqHA" name="layerNamedStyle" type="_yN_dQLcqEeK8_t7Rpq6ZJA" association="_jWQ4ANa7EeKPiuTfpuvqHA">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jWQ4Ata7EeKPiuTfpuvqHA" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jWQ4A9a7EeKPiuTfpuvqHA" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_51zAINa7EeKPiuTfpuvqHA" name="AbstractLayer" isAbstract="true">
-      <generalization xmi:id="__ujk4NjMEeKgkM6XJF9t4A" general="_9IaAANjiEeKQqZMBCFd2Uw"/>
-      <ownedAttribute xmi:id="_5YkcINa8EeKPiuTfpuvqHA" name="propertyValues" type="_AjTZ8Na8EeKPiuTfpuvqHA" isOrdered="true" isUnique="false" association="_5YuNINa8EeKPiuTfpuvqHA">
-        <ownedComment xmi:id="_yAlZYNkWEeKQqZMBCFd2Uw">
+      <generalization xmi:type="uml:Generalization" xmi:id="__ujk4NjMEeKgkM6XJF9t4A" general="_9IaAANjiEeKQqZMBCFd2Uw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_5YkcINa8EeKPiuTfpuvqHA" name="propertyValues" type="_AjTZ8Na8EeKPiuTfpuvqHA" isOrdered="true" isUnique="false" association="_5YuNINa8EeKPiuTfpuvqHA">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_yAlZYNkWEeKQqZMBCFd2Uw">
           <body>An ordered list of references onvalue instances.&#xD;
 This list is used to access instances by indexes.&#xD;
 Elements are set in the list when they are attached to the layer. A null element mean that the property at the specified index is not attached.&#xD;
@@ -162,78 +162,78 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5YkcIda8EeKPiuTfpuvqHA"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5YkcIta8EeKPiuTfpuvqHA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_A1bYQNjLEeKgkM6XJF9t4A" name="propertyValueMap" type="_vMMQsNjKEeKgkM6XJF9t4A" aggregation="composite" association="_A1nlgNjLEeKgkM6XJF9t4A">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_A1bYQNjLEeKgkM6XJF9t4A" name="propertyValueMap" type="_vMMQsNjKEeKgkM6XJF9t4A" aggregation="composite" association="_A1nlgNjLEeKgkM6XJF9t4A">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A1bYQdjLEeKgkM6XJF9t4A"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_A1bYQtjLEeKgkM6XJF9t4A" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_LA8SkNjiEeKQqZMBCFd2Uw" name="layerDescriptor" type="_eNnjMNa7EeKPiuTfpuvqHA" association="_LBIf0NjiEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_LA8SkNjiEeKQqZMBCFd2Uw" name="layerDescriptor" type="_eNnjMNa7EeKPiuTfpuvqHA" association="_LBIf0NjiEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LA8SkdjiEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LA8SktjiEeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_3qy14NjkEeKQqZMBCFd2Uw" name="views" association="_3q_DINjkEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_3qy14NjkEeKQqZMBCFd2Uw" name="views" association="_3q_DINjkEeKQqZMBCFd2Uw">
         <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3qy14djkEeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3qy14tjkEeKQqZMBCFd2Uw" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_rEPKgO-MEeK0p4PkXjd-_Q" name="attachedProperties" type="_-vaacNa7EeKPiuTfpuvqHA" aggregation="composite" isDerived="true" association="_rEb-0O-MEeK0p4PkXjd-_Q">
-        <ownedComment xmi:id="_0zHqoO-MEeK0p4PkXjd-_Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rEPKgO-MEeK0p4PkXjd-_Q" name="attachedProperties" type="_-vaacNa7EeKPiuTfpuvqHA" aggregation="composite" isDerived="true" association="_rEb-0O-MEeK0p4PkXjd-_Q">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_0zHqoO-MEeK0p4PkXjd-_Q">
           <body>Return the list of Property (descriptors) attached to the Layer.&#xD;
 This is a derived transient list.</body>
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rEPKge-MEeK0p4PkXjd-_Q"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rEPKgu-MEeK0p4PkXjd-_Q" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_gfah8OKIEeKOWoLMe41Aew" name="addPropertyInstance" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_zzrA4OKIEeKOWoLMe41Aew">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_gfah8OKIEeKOWoLMe41Aew" name="addPropertyInstance" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_zzrA4OKIEeKOWoLMe41Aew">
           <body>Add the specified property to the map of property.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_ocu90OKIEeKOWoLMe41Aew" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_9j3nQOKWEeKOWoLMe41Aew" name="result" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ocu90OKIEeKOWoLMe41Aew" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_9j3nQOKWEeKOWoLMe41Aew" name="result" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_sJkb8OKIEeKOWoLMe41Aew" name="removePropertyInstance">
-        <ownedParameter xmi:id="_sJkb8eKIEeKOWoLMe41Aew" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_sJkb8OKIEeKOWoLMe41Aew" name="removePropertyInstance">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_sJkb8eKIEeKOWoLMe41Aew" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_ldtfkOKWEeKOWoLMe41Aew" name="getPropertyInstance" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_ldtfkeKWEeKOWoLMe41Aew">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_ldtfkOKWEeKOWoLMe41Aew" name="getPropertyInstance" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_ldtfkeKWEeKOWoLMe41Aew">
           <body>Add the specified property to the map of property.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_ldtfkuKWEeKOWoLMe41Aew" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_voU5cOKWEeKOWoLMe41Aew" name="result" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ldtfkuKWEeKOWoLMe41Aew" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_voU5cOKWEeKOWoLMe41Aew" name="result" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_IR-vwOKXEeKOWoLMe41Aew" name="getPropertyInstance" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_IR-vweKXEeKOWoLMe41Aew">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_IR-vwOKXEeKOWoLMe41Aew" name="getPropertyInstance" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_IR-vweKXEeKOWoLMe41Aew">
           <body>Add the specified property to the map of property.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_IR-vwuKXEeKOWoLMe41Aew" name="property" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
-        <ownedParameter xmi:id="_IR-vw-KXEeKOWoLMe41Aew" name="result" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_IR-vwuKXEeKOWoLMe41Aew" name="property" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_IR-vw-KXEeKOWoLMe41Aew" name="result" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_-vaacNa7EeKPiuTfpuvqHA" name="Property">
-      <generalization xmi:id="_YRb5sNhdEeKgkM6XJF9t4A" general="_ggM80NhbEeKgkM6XJF9t4A"/>
-      <ownedAttribute xmi:id="_L2FowNhcEeKgkM6XJF9t4A" name="type" type="_EoL3oNhcEeKgkM6XJF9t4A" association="_L2X8oNhcEeKgkM6XJF9t4A">
+      <generalization xmi:type="uml:Generalization" xmi:id="_YRb5sNhdEeKgkM6XJF9t4A" general="_ggM80NhbEeKgkM6XJF9t4A"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_L2FowNhcEeKgkM6XJF9t4A" name="type" type="_EoL3oNhcEeKgkM6XJF9t4A" association="_L2X8oNhcEeKgkM6XJF9t4A">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L2FowdhcEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L2FowthcEeKgkM6XJF9t4A" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_O62aQNhcEeKgkM6XJF9t4A" name="defaultValue" type="_AjTZ8Na8EeKPiuTfpuvqHA" aggregation="composite" association="_O7IuINhcEeKgkM6XJF9t4A">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_O62aQNhcEeKgkM6XJF9t4A" name="defaultValue" type="_AjTZ8Na8EeKPiuTfpuvqHA" aggregation="composite" association="_O7IuINhcEeKgkM6XJF9t4A">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_O62aQdhcEeKgkM6XJF9t4A"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_O62aQthcEeKgkM6XJF9t4A" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_sdWO0NhcEeKgkM6XJF9t4A" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_sdWO0NhcEeKgkM6XJF9t4A" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_utwLMNhcEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ut8YcNhcEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_uunG0NhcEeKgkM6XJF9t4A">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_hT9qINhdEeKgkM6XJF9t4A" name="description" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_hT9qINhdEeKgkM6XJF9t4A" name="description" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_j92dgNhdEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_j-CqwNhdEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_j-tZINhdEeKgkM6XJF9t4A">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_HjktUO3qEeKwLp35IbAIig" name="index" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
-        <ownedComment xmi:id="_OHvk8O3qEeKwLp35IbAIig">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_HjktUO3qEeKwLp35IbAIig" name="index" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_OHvk8O3qEeKwLp35IbAIig">
           <body>Index of the property in the arrays of the application.&#xD;
 The index is used by the application to access property in arrays.&#xD;
 Each property has a unique index. This is the application responsability to maintain the index.&#xD;
@@ -246,45 +246,45 @@
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LHPoYO3qEeKwLp35IbAIig" value="1"/>
         <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_Bic9oO-FEeK0p4PkXjd-_Q" value="-1"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_9LLeENhcEeKgkM6XJF9t4A" name="createInstance" raisedException="_KG7HMNxMEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_HPKEcNhdEeKgkM6XJF9t4A" name="return" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_9LLeENhcEeKgkM6XJF9t4A" name="createInstance" raisedException="_KG7HMNxMEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_HPKEcNhdEeKgkM6XJF9t4A" name="return" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_AjTZ8Na8EeKPiuTfpuvqHA" name="TypeInstance" isAbstract="true">
-      <interfaceRealization xmi:id="_g2QFQO8YEeK0p4PkXjd-_Q" name="InterfaceRealization1" client="_AjTZ8Na8EeKPiuTfpuvqHA" supplier="_XZJOcO8UEeK0p4PkXjd-_Q" contract="_XZJOcO8UEeK0p4PkXjd-_Q"/>
-      <ownedOperation xmi:id="_ZFFKAEczEeOEBJ2PxFQgyQ" name="setValueFromString">
-        <ownedComment xmi:id="_ghl-4EczEeOEBJ2PxFQgyQ">
+      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_g2QFQO8YEeK0p4PkXjd-_Q" name="InterfaceRealization1" client="_AjTZ8Na8EeKPiuTfpuvqHA" supplier="_XZJOcO8UEeK0p4PkXjd-_Q" contract="_XZJOcO8UEeK0p4PkXjd-_Q"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_ZFFKAEczEeOEBJ2PxFQgyQ" name="setValueFromString">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_ghl-4EczEeOEBJ2PxFQgyQ">
           <body>Set the value of the instance from the porvided String.&#xD;
 Actually, only simple values are accepted.&#xD;
 TODO Allows complexe values, using a well defined syntax ?</body>
         </ownedComment>
-        <ownedParameter xmi:id="_fODTYEczEeOEBJ2PxFQgyQ" name="value" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_fODTYEczEeOEBJ2PxFQgyQ" name="value" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_oJwUAEc8EeOEBJ2PxFQgyQ" name="setValueFromInstance">
-        <ownedParameter xmi:id="_tVpxIEc8EeOEBJ2PxFQgyQ" name="value" type="_AjTZ8Na8EeKPiuTfpuvqHA"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_oJwUAEc8EeOEBJ2PxFQgyQ" name="setValueFromInstance">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_tVpxIEc8EeOEBJ2PxFQgyQ" name="value" type="_AjTZ8Na8EeKPiuTfpuvqHA"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_SuHkkNa8EeKPiuTfpuvqHA" name="int"/>
     <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_TqqsYNa8EeKPiuTfpuvqHA" name="boolean"/>
     <packagedElement xmi:type="uml:Association" xmi:id="_5YuNINa8EeKPiuTfpuvqHA" name="layer_propertyValue_1" memberEnd="_5YuNIda8EeKPiuTfpuvqHA _5YkcINa8EeKPiuTfpuvqHA">
-      <ownedEnd xmi:id="_5YuNIda8EeKPiuTfpuvqHA" name="layer" type="_51zAINa7EeKPiuTfpuvqHA" association="_5YuNINa8EeKPiuTfpuvqHA">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_5YuNIda8EeKPiuTfpuvqHA" name="layer" type="_51zAINa7EeKPiuTfpuvqHA" association="_5YuNINa8EeKPiuTfpuvqHA">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5YuNIta8EeKPiuTfpuvqHA" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5YuNI9a8EeKPiuTfpuvqHA" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_cHkbsNbGEeKPiuTfpuvqHA" name="layersStack_layer_1" memberEnd="_cHkbsdbGEeKPiuTfpuvqHA _cHaqsNbGEeKPiuTfpuvqHA">
-      <ownedEnd xmi:id="_cHkbsdbGEeKPiuTfpuvqHA" name="layersStack" type="_gT0asNa7EeKPiuTfpuvqHA" association="_cHkbsNbGEeKPiuTfpuvqHA">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_cHkbsdbGEeKPiuTfpuvqHA" name="layersStack" type="_gT0asNa7EeKPiuTfpuvqHA" association="_cHkbsNbGEeKPiuTfpuvqHA">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cHkbstbGEeKPiuTfpuvqHA" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cHkbs9bGEeKPiuTfpuvqHA" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_fAmyUNhbEeKgkM6XJF9t4A" name="Folder">
-      <generalization xmi:id="_6l23ENhbEeKgkM6XJF9t4A" general="_ggM80NhbEeKgkM6XJF9t4A"/>
-      <ownedAttribute xmi:id="_js_o8NhbEeKgkM6XJF9t4A" name="elements" type="_ggM80NhbEeKgkM6XJF9t4A" aggregation="composite" association="_jtR80NhbEeKgkM6XJF9t4A">
+      <generalization xmi:type="uml:Generalization" xmi:id="_6l23ENhbEeKgkM6XJF9t4A" general="_ggM80NhbEeKgkM6XJF9t4A"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_js_o8NhbEeKgkM6XJF9t4A" name="elements" type="_ggM80NhbEeKgkM6XJF9t4A" aggregation="composite" association="_jtR80NhbEeKgkM6XJF9t4A">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_js_o8dhbEeKgkM6XJF9t4A"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_js_o8thbEeKgkM6XJF9t4A" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_pSIZkNhoEeKgkM6XJF9t4A" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_pSIZkNhoEeKgkM6XJF9t4A" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_r_ILUNhoEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_r_afMNhoEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_sALUMNhoEeKgkM6XJF9t4A">
@@ -294,74 +294,70 @@
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_ggM80NhbEeKgkM6XJF9t4A" name="FolderElement" isAbstract="true"/>
     <packagedElement xmi:type="uml:Association" xmi:id="_jtR80NhbEeKgkM6XJF9t4A" name="package_packageableElement_1" memberEnd="_jtR80dhbEeKgkM6XJF9t4A _js_o8NhbEeKgkM6XJF9t4A">
-      <ownedEnd xmi:id="_jtR80dhbEeKgkM6XJF9t4A" name="folder" type="_fAmyUNhbEeKgkM6XJF9t4A" association="_jtR80NhbEeKgkM6XJF9t4A">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_jtR80dhbEeKgkM6XJF9t4A" name="folder" type="_fAmyUNhbEeKgkM6XJF9t4A" association="_jtR80NhbEeKgkM6XJF9t4A">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jtR80thbEeKgkM6XJF9t4A"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jtR809hbEeKgkM6XJF9t4A" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_EoL3oNhcEeKgkM6XJF9t4A" name="Type" isAbstract="true">
-      <generalization xmi:id="_5T84YNhdEeKgkM6XJF9t4A" general="_ggM80NhbEeKgkM6XJF9t4A"/>
-      <ownedAttribute xmi:id="_kg7x4NhcEeKgkM6XJF9t4A" name="metamodel" type="_I3wPYNhcEeKgkM6XJF9t4A" association="_khB4gNhcEeKgkM6XJF9t4A">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kg7x4dhcEeKgkM6XJF9t4A" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kg7x4thcEeKgkM6XJF9t4A" value="1"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_oTs44NhcEeKgkM6XJF9t4A" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <generalization xmi:type="uml:Generalization" xmi:id="_5T84YNhdEeKgkM6XJF9t4A" general="_ggM80NhbEeKgkM6XJF9t4A"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_oTs44NhcEeKgkM6XJF9t4A" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rDya4NhcEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rD-oINhcEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_rEpWgNhcEeKgkM6XJF9t4A">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_kquxoNhdEeKgkM6XJF9t4A" name="description" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_kquxoNhdEeKgkM6XJF9t4A" name="description" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_m6-9ANhdEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_m7RQ4NhdEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_m77_QNhdEeKgkM6XJF9t4A">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedOperation xmi:id="_VRDxkNhgEeKgkM6XJF9t4A" name="createInstance">
-        <ownedParameter xmi:id="_VRDxkdhgEeKgkM6XJF9t4A" name="return" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_VRDxkNhgEeKgkM6XJF9t4A" name="createInstance">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_VRDxkdhgEeKgkM6XJF9t4A" name="return" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_I3wPYNhcEeKgkM6XJF9t4A" name="Metamodel">
-      <generalization xmi:id="_7uWeQNhdEeKgkM6XJF9t4A" general="_ggM80NhbEeKgkM6XJF9t4A"/>
-      <ownedAttribute xmi:id="_r6aEYNhdEeKgkM6XJF9t4A" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <generalization xmi:type="uml:Generalization" xmi:id="_7uWeQNhdEeKgkM6XJF9t4A" general="_ggM80NhbEeKgkM6XJF9t4A"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_r6aEYNhdEeKgkM6XJF9t4A" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_u3drYNhdEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_u3p4oNhdEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_u4UnANhdEeKgkM6XJF9t4A">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_vhv-gNhdEeKgkM6XJF9t4A" name="description" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_vhv-gNhdEeKgkM6XJF9t4A" name="description" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xtI4ANhdEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xtbL4NhdEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_xuF6QNhdEeKgkM6XJF9t4A">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_i5nR8NhgEeKgkM6XJF9t4A" name="nsuri" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_i5nR8NhgEeKgkM6XJF9t4A" name="nsuri" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_llQY0NhgEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_llcmENhgEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_lmHUcNhgEeKgkM6XJF9t4A">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_mR_jANhgEeKgkM6XJF9t4A" name="pluginID" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mR_jANhgEeKgkM6XJF9t4A" name="pluginID" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_o2xM4NhgEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_o3DgwNhgEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_o3uPINhgEeKgkM6XJF9t4A">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_pkeAYNhgEeKgkM6XJF9t4A" name="ePackageInstanceName" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_pkeAYNhgEeKgkM6XJF9t4A" name="ePackageInstanceName" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uXcAINhgEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uXoNYNhgEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_uYZCYNhgEeKgkM6XJF9t4A">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="__MsGANhgEeKgkM6XJF9t4A" name="isTypeValid" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA">
-        <ownedComment xmi:id="_Eu5xYNhhEeKgkM6XJF9t4A">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="__MsGANhgEeKgkM6XJF9t4A" name="isTypeValid" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_Eu5xYNhhEeKgkM6XJF9t4A">
           <body>Flag indicating if the type is valide, ie if the type can be instancied with the provided values.&#xD;
 This flag is set automatically by the class. The class listen to the modifications of nsuri, pluginID and ePAckageInstance. &#xD;
 When one of these property is modified, the class check if the type can be instanciated. Set the flag accordingly.</body>
@@ -372,93 +368,33 @@
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedOperation xmi:id="_K3KQcNheEeKgkM6XJF9t4A" name="getEPackage">
-        <ownedParameter xmi:id="_SDWKUNheEeKgkM6XJF9t4A" name="return" type="_lVnFMNheEeKgkM6XJF9t4A" direction="return"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_K3KQcNheEeKgkM6XJF9t4A" name="getEPackage">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_SDWKUNheEeKgkM6XJF9t4A" name="return" type="_lVnFMNheEeKgkM6XJF9t4A" direction="return"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_L2X8oNhcEeKgkM6XJF9t4A" name="propertyDescriptor_type_1" memberEnd="_L2X8odhcEeKgkM6XJF9t4A _L2FowNhcEeKgkM6XJF9t4A">
-      <ownedEnd xmi:id="_L2X8odhcEeKgkM6XJF9t4A" name="propertyDescriptor" type="_-vaacNa7EeKPiuTfpuvqHA" association="_L2X8oNhcEeKgkM6XJF9t4A">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_L2X8odhcEeKgkM6XJF9t4A" name="propertyDescriptor" type="_-vaacNa7EeKPiuTfpuvqHA" association="_L2X8oNhcEeKgkM6XJF9t4A">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_L2X8othcEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_L2X8o9hcEeKgkM6XJF9t4A" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_O7IuINhcEeKgkM6XJF9t4A" name="propertyDescriptor_propertyValue_1" memberEnd="_O7IuIdhcEeKgkM6XJF9t4A _O62aQNhcEeKgkM6XJF9t4A">
-      <ownedEnd xmi:id="_O7IuIdhcEeKgkM6XJF9t4A" name="propertyDescriptor" type="_-vaacNa7EeKPiuTfpuvqHA" association="_O7IuINhcEeKgkM6XJF9t4A">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_O7IuIdhcEeKgkM6XJF9t4A" name="propertyDescriptor" type="_-vaacNa7EeKPiuTfpuvqHA" association="_O7IuINhcEeKgkM6XJF9t4A">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_O7IuIthcEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_O7IuI9hcEeKgkM6XJF9t4A" value="1"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_khB4gNhcEeKgkM6XJF9t4A" name="type_metamodel_1" memberEnd="_khB4gdhcEeKgkM6XJF9t4A _kg7x4NhcEeKgkM6XJF9t4A">
-      <ownedEnd xmi:id="_khB4gdhcEeKgkM6XJF9t4A" name="type" type="_J6C5MNhkEeKgkM6XJF9t4A" association="_khB4gNhcEeKgkM6XJF9t4A">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_khB4gthcEeKgkM6XJF9t4A" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_khB4g9hcEeKgkM6XJF9t4A" value="1"/>
-      </ownedEnd>
-    </packagedElement>
     <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_c1QNsNheEeKgkM6XJF9t4A" name="Object"/>
     <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_lVnFMNheEeKgkM6XJF9t4A" name="EPackage"/>
-    <packagedElement xmi:type="uml:Class" xmi:id="_6RrIENhhEeKgkM6XJF9t4A" name="IntInstance">
-      <generalization xmi:id="_g5ap4NhiEeKgkM6XJF9t4A" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
-      <ownedAttribute xmi:id="_HJX90NhjEeKgkM6XJF9t4A" name="value" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kY2vwNhjEeKgkM6XJF9t4A" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kZC9ANhjEeKgkM6XJF9t4A" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_kZtrYNhjEeKgkM6XJF9t4A">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_-yuRYNhhEeKgkM6XJF9t4A" name="BooleanInstance">
-      <generalization xmi:id="_klghINhiEeKgkM6XJF9t4A" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
-      <ownedAttribute xmi:id="_lMfMINhjEeKgkM6XJF9t4A" name="value" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ngE_YNhjEeKgkM6XJF9t4A" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ngRMoNhjEeKgkM6XJF9t4A" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_ng77ANhjEeKgkM6XJF9t4A">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_Cww0QNhiEeKgkM6XJF9t4A" name="StringInstance">
-      <generalization xmi:id="_mlgC8NhiEeKgkM6XJF9t4A" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
-      <ownedAttribute xmi:id="_oRNhYNhjEeKgkM6XJF9t4A" name="value" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qxBywNhjEeKgkM6XJF9t4A" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_qxOAANhjEeKgkM6XJF9t4A" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_qx4uYNhjEeKgkM6XJF9t4A">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_6xEH4NhjEeKgkM6XJF9t4A" name="IntType">
-      <generalization xmi:id="_n3p8cNhkEeKgkM6XJF9t4A" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="__iczQNhjEeKgkM6XJF9t4A" name="BooleanType">
-      <generalization xmi:id="_rgmZENhkEeKgkM6XJF9t4A" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_E308gNhkEeKgkM6XJF9t4A" name="StringType">
-      <generalization xmi:id="_tdBpgNhkEeKgkM6XJF9t4A" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_J6C5MNhkEeKgkM6XJF9t4A" name="CustomType">
-      <ownedComment xmi:id="_08frwNhkEeKgkM6XJF9t4A">
-        <body>A CustomType is used to refer to a type defined in an external metamodel.&#xD;
-The classifier specify the name of the type defined in a ECore metamodel. The metamodel property is used&#xD;
-to specify the ECore metamodel containing  the type referenced.</body>
-      </ownedComment>
-      <generalization xmi:id="_wLYGINhkEeKgkM6XJF9t4A" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
-      <ownedAttribute xmi:id="_U0l7MNhkEeKgkM6XJF9t4A" name="classifier" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_V7OMENhkEeKgkM6XJF9t4A" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_V7aZUNhkEeKgkM6XJF9t4A" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_V8FHsNhkEeKgkM6XJF9t4A">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-    </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_vMMQsNjKEeKgkM6XJF9t4A" name="StringToTypeInstanceMap">
-      <ownedAttribute xmi:id="_1B8jINjKEeKgkM6XJF9t4A" name="key" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_1B8jINjKEeKgkM6XJF9t4A" name="key" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3hw0gNjKEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3h9BwNjKEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_3it2wNjKEeKgkM6XJF9t4A">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_4f0_QNjKEeKgkM6XJF9t4A" name="value" visibility="public" type="_AjTZ8Na8EeKPiuTfpuvqHA" aggregation="composite">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_4f0_QNjKEeKgkM6XJF9t4A" name="value" visibility="public" type="_AjTZ8Na8EeKPiuTfpuvqHA" aggregation="composite">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8Z8rcNjKEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8aJfwNjKEeKgkM6XJF9t4A" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_8a6UwNjKEeKgkM6XJF9t4A">
@@ -467,106 +403,106 @@
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_A1nlgNjLEeKgkM6XJF9t4A" name="layer_stringToTypeInstanceMap_1" memberEnd="_A1nlgdjLEeKgkM6XJF9t4A _A1bYQNjLEeKgkM6XJF9t4A">
-      <ownedEnd xmi:id="_A1nlgdjLEeKgkM6XJF9t4A" name="layer" type="_51zAINa7EeKPiuTfpuvqHA" association="_A1nlgNjLEeKgkM6XJF9t4A">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_A1nlgdjLEeKgkM6XJF9t4A" name="layer" type="_51zAINa7EeKPiuTfpuvqHA" association="_A1nlgNjLEeKgkM6XJF9t4A">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_A1nlgtjLEeKgkM6XJF9t4A" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_A1nlg9jLEeKgkM6XJF9t4A" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_DN8s0NjhEeKQqZMBCFd2Uw" name="LayersStackApplication">
-      <ownedComment xmi:id="_K6hW8NjhEeKQqZMBCFd2Uw">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_K6hW8NjhEeKQqZMBCFd2Uw">
         <body>This represent the root of LayerStack.&#xD;
 All model with LayerStack has an instance of this class as root.&#xD;
 This class allows to find the associated registries : PropertyRegistry, LayerDescriptorRegistry</body>
       </ownedComment>
-      <generalization xmi:id="_bwKaMNjoEeKQqZMBCFd2Uw" general="_ggM80NhbEeKgkM6XJF9t4A"/>
-      <ownedAttribute xmi:id="_aj6GoNjhEeKQqZMBCFd2Uw" name="layersStacks" type="_gT0asNa7EeKPiuTfpuvqHA" aggregation="composite" association="_akGT4NjhEeKQqZMBCFd2Uw">
+      <generalization xmi:type="uml:Generalization" xmi:id="_bwKaMNjoEeKQqZMBCFd2Uw" general="_ggM80NhbEeKgkM6XJF9t4A"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_aj6GoNjhEeKQqZMBCFd2Uw" name="layersStacks" type="_gT0asNa7EeKPiuTfpuvqHA" aggregation="composite" association="_akGT4NjhEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aj6GodjhEeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aj6GotjhEeKQqZMBCFd2Uw" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_DYWsYNjpEeKQqZMBCFd2Uw" name="layerStackRegistry" type="_uMYd4NjoEeKQqZMBCFd2Uw" aggregation="composite" association="_DYi5oNjpEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_DYWsYNjpEeKQqZMBCFd2Uw" name="layerStackRegistry" type="_uMYd4NjoEeKQqZMBCFd2Uw" aggregation="composite" association="_DYi5oNjpEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DYWsYdjpEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DYWsYtjpEeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_EEc9YNjpEeKQqZMBCFd2Uw" name="propertyRegistry" type="_8OefoNjoEeKQqZMBCFd2Uw" aggregation="composite" association="_EEjEANjpEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_EEc9YNjpEeKQqZMBCFd2Uw" name="propertyRegistry" type="_8OefoNjoEeKQqZMBCFd2Uw" aggregation="composite" association="_EEjEANjpEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EEc9YdjpEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EEc9YtjpEeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_5rptsNqBEeKQqZMBCFd2Uw" name="layerDescriptorRegistry" type="_zYGE8NqBEeKQqZMBCFd2Uw" aggregation="composite" association="_5r8BkNqBEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_5rptsNqBEeKQqZMBCFd2Uw" name="layerDescriptorRegistry" type="_zYGE8NqBEeKQqZMBCFd2Uw" aggregation="composite" association="_5r8BkNqBEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5rptsdqBEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5rptstqBEeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_wRCXENt2EeKQqZMBCFd2Uw" name="factory" type="_IOwJ4Nt2EeKQqZMBCFd2Uw" aggregation="composite" association="_wROkUNt2EeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wRCXENt2EeKQqZMBCFd2Uw" name="factory" type="_IOwJ4Nt2EeKQqZMBCFd2Uw" aggregation="composite" association="_wROkUNt2EeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wRCXEdt2EeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wRCXEtt2EeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_3F7c4O3uEeKwLp35IbAIig" name="propertySetterRegistry" type="_q85OgO3uEeKwLp35IbAIig" aggregation="composite" association="_3GHqIO3uEeKwLp35IbAIig">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_3F7c4O3uEeKwLp35IbAIig" name="propertySetterRegistry" type="_q85OgO3uEeKwLp35IbAIig" aggregation="composite" association="_3GHqIO3uEeKwLp35IbAIig">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3F7c4e3uEeKwLp35IbAIig"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3F7c4u3uEeKwLp35IbAIig" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_FDc3EAxAEeOjX-JbGFEH7w" name="layerOperatorDescriptorRegistry" type="_T5we4AkdEeOnVqX9VcfeWQ" aggregation="composite" association="_FDpEUAxAEeOjX-JbGFEH7w">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_FDc3EAxAEeOjX-JbGFEH7w" name="layerOperatorDescriptorRegistry" type="_T5we4AkdEeOnVqX9VcfeWQ" aggregation="composite" association="_FDpEUAxAEeOjX-JbGFEH7w">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FDc3EQxAEeOjX-JbGFEH7w"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FDc3EgxAEeOjX-JbGFEH7w" value="1"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_jo2R4NjhEeKQqZMBCFd2Uw" name="getLayersStackFor">
-        <ownedParameter xmi:id="_3TxkYNjhEeKQqZMBCFd2Uw" name="diagram">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_jo2R4NjhEeKQqZMBCFd2Uw" name="getLayersStackFor">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_3TxkYNjhEeKQqZMBCFd2Uw" name="diagram">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHhrcnEeKeLJDBCBPhPw"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_8X93ANjhEeKQqZMBCFd2Uw" name="return" type="_gT0asNa7EeKPiuTfpuvqHA" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8X93ANjhEeKQqZMBCFd2Uw" name="return" type="_gT0asNa7EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_8QO3kN0kEeKwptaAAanMDg" name="removeLayersStackFor">
-        <ownedParameter xmi:id="_8QO3kd0kEeKwptaAAanMDg" name="diagram">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_8QO3kN0kEeKwptaAAanMDg" name="removeLayersStackFor">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_8QO3kd0kEeKwptaAAanMDg" name="diagram">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHhrcnEeKeLJDBCBPhPw"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_H4FrgN0lEeKwptaAAanMDg" name="isLayersStackAttachedFor">
-        <ownedParameter xmi:id="_H4Frgd0lEeKwptaAAanMDg" name="diagram">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_H4FrgN0lEeKwptaAAanMDg" name="isLayersStackAttachedFor">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_H4Frgd0lEeKwptaAAanMDg" name="diagram">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHhrcnEeKeLJDBCBPhPw"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_H4Frgt0lEeKwptaAAanMDg" name="return" type="_TqqsYNa8EeKPiuTfpuvqHA" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_H4Frgt0lEeKwptaAAanMDg" name="return" type="_TqqsYNa8EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_ZJ8N0N0lEeKwptaAAanMDg" name="createLayersStackFor">
-        <ownedParameter xmi:id="_ZJ8N0d0lEeKwptaAAanMDg" name="diagram">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_ZJ8N0N0lEeKwptaAAanMDg" name="createLayersStackFor">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ZJ8N0d0lEeKwptaAAanMDg" name="diagram">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHhrcnEeKeLJDBCBPhPw"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_ZJ8N0t0lEeKwptaAAanMDg" name="return" type="_gT0asNa7EeKPiuTfpuvqHA" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ZJ8N0t0lEeKwptaAAanMDg" name="return" type="_gT0asNa7EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_ZdgqEN0lEeKwptaAAanMDg" name="lookupLayersStackFor" raisedException="_k-dZENxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_ZdgqEd0lEeKwptaAAanMDg" name="diagram">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_ZdgqEN0lEeKwptaAAanMDg" name="lookupLayersStackFor" raisedException="_k-dZENxGEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ZdgqEd0lEeKwptaAAanMDg" name="diagram">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHhrcnEeKeLJDBCBPhPw"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_ZdgqEt0lEeKwptaAAanMDg" name="return" type="_gT0asNa7EeKPiuTfpuvqHA" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ZdgqEt0lEeKwptaAAanMDg" name="return" type="_gT0asNa7EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_akGT4NjhEeKQqZMBCFd2Uw" name="layersStackApplication_layersStack_1" memberEnd="_akGT4djhEeKQqZMBCFd2Uw _aj6GoNjhEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_akGT4djhEeKQqZMBCFd2Uw" name="layersStackApplication" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_akGT4NjhEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_akGT4djhEeKQqZMBCFd2Uw" name="layersStackApplication" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_akGT4NjhEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_akGT4tjhEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_akGT49jhEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_LBIf0NjiEeKQqZMBCFd2Uw" name="layer_layerDescriptor_1" memberEnd="_LBIf0djiEeKQqZMBCFd2Uw _LA8SkNjiEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_LBIf0djiEeKQqZMBCFd2Uw" name="layer" type="_51zAINa7EeKPiuTfpuvqHA" association="_LBIf0NjiEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_LBIf0djiEeKQqZMBCFd2Uw" name="layer" type="_51zAINa7EeKPiuTfpuvqHA" association="_LBIf0NjiEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LBIf0tjiEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LBIf09jiEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_9IaAANjiEeKQqZMBCFd2Uw" name="LayerExpression" isAbstract="true">
-      <generalization xmi:id="_18JYYNt5EeKwptaAAanMDg" general="_325AENt0EeKQqZMBCFd2Uw"/>
-      <ownedAttribute xmi:id="_AWx_gNjuEeKQqZMBCFd2Uw" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <generalization xmi:type="uml:Generalization" xmi:id="_18JYYNt5EeKwptaAAanMDg" general="_325AENt0EeKQqZMBCFd2Uw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_AWx_gNjuEeKQqZMBCFd2Uw" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AWx_gdjuEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AWx_gtjuEeKQqZMBCFd2Uw" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_AWx_g9juEeKQqZMBCFd2Uw">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_AW-MwNjuEeKQqZMBCFd2Uw" name="description" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_AW-MwNjuEeKQqZMBCFd2Uw" name="description" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AW-MwdjuEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AW-MwtjuEeKQqZMBCFd2Uw" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_AW-Mw9juEeKQqZMBCFd2Uw">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_mCUIAAxEEeOjX-JbGFEH7w" name="isLayerEnabledInternal" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_unSZwAxEEeOjX-JbGFEH7w">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mCUIAAxEEeOjX-JbGFEH7w" name="isLayerEnabledInternal" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_unSZwAxEEeOjX-JbGFEH7w">
           <body>Return true if the Layer is enabled (participate to the diagram), or false if it is not enabled.&#xD;
 This is a derieved property.&#xD;
 This flag is used internally to check if the layer is enabled. It is used by operation computing command. If the flag return false, no command is returned.&#xD;
@@ -578,8 +514,8 @@
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_qaozIAxEEeOjX-JbGFEH7w" name="isLayerEnabled" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA">
-        <ownedComment xmi:id="_-aGyQAxEEeOjX-JbGFEH7w">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_qaozIAxEEeOjX-JbGFEH7w" name="isLayerEnabled" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_-aGyQAxEEeOjX-JbGFEH7w">
           <body>Is the user enabled this layer ?&#xD;
 Return true if the user enable this layer, false if the user disable this layer.&#xD;
 When the user disable a layer, the isEnable property also return false.</body>
@@ -588,8 +524,8 @@
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tBHGIAxEEeOjX-JbGFEH7w" value="1"/>
         <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_hvDRIAxGEeOjX-JbGFEH7w" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_xcbgQGQ7EeOlpfB_tZS-QA" name="isBranchEnabled" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA">
-        <ownedComment xmi:id="_egbT0GQ8EeOlpfB_tZS-QA" annotatedElement="_xcbgQGQ7EeOlpfB_tZS-QA">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_xcbgQGQ7EeOlpfB_tZS-QA" name="isBranchEnabled" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_egbT0GQ8EeOlpfB_tZS-QA" annotatedElement="_xcbgQGQ7EeOlpfB_tZS-QA">
           <body>Is the branch from this node to the root enabled ?&#xD;
 A branch is enabled if all node of the branch are enabled.&#xD;
 In other world, if an ancestor node is disable, the branch is disabled.&#xD;
@@ -599,83 +535,83 @@
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xcbgQ2Q7EeOlpfB_tZS-QA" value="1"/>
         <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_xcbgRGQ7EeOlpfB_tZS-QA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_PznBcGQ5EeOlpfB_tZS-QA" name="owningLayersStack" type="_gT0asNa7EeKPiuTfpuvqHA" association="_PznBc2Q5EeOlpfB_tZS-QA">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_PznBcGQ5EeOlpfB_tZS-QA" name="owningLayersStack" type="_gT0asNa7EeKPiuTfpuvqHA" association="_PznBc2Q5EeOlpfB_tZS-QA">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PznBcWQ5EeOlpfB_tZS-QA"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PznBcmQ5EeOlpfB_tZS-QA" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_E2soAHluEeOlpfB_tZS-QA" name="state" visibility="public" type="_8__xgHltEeOlpfB_tZS-QA" isUnique="false">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_E2soAHluEeOlpfB_tZS-QA" name="state" visibility="public" type="_8__xgHltEeOlpfB_tZS-QA" isUnique="false">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ISCtgHluEeOlpfB_tZS-QA" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ISCtgXluEeOlpfB_tZS-QA" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_QPjWoHluEeOlpfB_tZS-QA" name="detached" value="detached"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_VdSFsO7HEeK0p4PkXjd-_Q" name="getComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_CI71QO7JEeK0p4PkXjd-_Q">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_VdSFsO7HEeK0p4PkXjd-_Q" name="getComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_CI71QO7JEeK0p4PkXjd-_Q">
           <body>Get the ComputePropertyValueCommands for the specified views and Property.&#xD;
 @return A list of Command allowing to get the value of the property for each view. The list contains null if no command is available for a View.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_kPANkO7HEeK0p4PkXjd-_Q" name="view">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_kPANkO7HEeK0p4PkXjd-_Q" name="view">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_pVVOMO7HEeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_vwTtkO7HEeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_pVVOMO7HEeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_vwTtkO7HEeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_xfz8UO7HEeK0p4PkXjd-_Q" name="getViewsComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_QUzeEO7JEeK0p4PkXjd-_Q">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_xfz8UO7HEeK0p4PkXjd-_Q" name="getViewsComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_QUzeEO7JEeK0p4PkXjd-_Q">
           <body>Get the ComputePropertyValueCommands for the specified view and Property.&#xD;
 @return the Command allowing to get the value, or null.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_xfz8Ue7HEeK0p4PkXjd-_Q" name="view" isOrdered="true" direction="inout">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_xfz8Ue7HEeK0p4PkXjd-_Q" name="view" isOrdered="true" direction="inout">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SKx9sO7IEeK0p4PkXjd-_Q"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_SLGGwO7IEeK0p4PkXjd-_Q" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_xfz8Uu7HEeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_xfz8U-7HEeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" isOrdered="true" direction="return">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_xfz8Uu7HEeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_xfz8U-7HEeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" isOrdered="true" direction="return">
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_T3aeoO7IEeK0p4PkXjd-_Q"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_T31VYO7IEeK0p4PkXjd-_Q" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_x2PfUO7HEeK0p4PkXjd-_Q" name="getPropertiesComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_Q2rcEO7JEeK0p4PkXjd-_Q">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_x2PfUO7HEeK0p4PkXjd-_Q" name="getPropertiesComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_Q2rcEO7JEeK0p4PkXjd-_Q">
           <body>Get the ComputePropertyValueCommands for the specified view and Properties.&#xD;
 @return A list of Command allowing to get the value of the properties for the specified view. The list contains null if no command is available for a property.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_x2PfUe7HEeK0p4PkXjd-_Q" name="view">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_x2PfUe7HEeK0p4PkXjd-_Q" name="view">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_x2PfUu7HEeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA" isOrdered="true" direction="inout">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_x2PfUu7HEeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA" isOrdered="true" direction="inout">
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a3kHoO7IEeK0p4PkXjd-_Q" value="1"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a32bgO7IEeK0p4PkXjd-_Q" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_x2PfU-7HEeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" isOrdered="true" direction="return">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_x2PfU-7HEeK0p4PkXjd-_Q" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" isOrdered="true" direction="return">
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_coyNoO7IEeK0p4PkXjd-_Q"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cpKoIO7IEeK0p4PkXjd-_Q" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_Ps2L4GUaEeOlpfB_tZS-QA" name="attachToLayersStack">
-        <ownedComment xmi:id="_nC1a4GUaEeOlpfB_tZS-QA" annotatedElement="_Ps2L4GUaEeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_Ps2L4GUaEeOlpfB_tZS-QA" name="attachToLayersStack">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_nC1a4GUaEeOlpfB_tZS-QA" annotatedElement="_Ps2L4GUaEeOlpfB_tZS-QA">
           <body>Method called to specify that this Layer should be initialized for the specified LayerStack.&#xD;
 Init this Layer for the specified LayersStack.&#xD;
 This method is called by the LayersStack when it detect that tha layer is attached to it.&#xD;
 </body>
         </ownedComment>
-        <ownedParameter xmi:id="_cr5cQGUaEeOlpfB_tZS-QA" name="owningLayersStack" type="_gT0asNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_cr5cQGUaEeOlpfB_tZS-QA" name="owningLayersStack" type="_gT0asNa7EeKPiuTfpuvqHA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_kzSSwGUdEeOlpfB_tZS-QA" name="getLayersStack" raisedException="_k-dZENxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_04NH4GUdEeOlpfB_tZS-QA" annotatedElement="_kzSSwGUdEeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_kzSSwGUdEeOlpfB_tZS-QA" name="getLayersStack" raisedException="_k-dZENxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_04NH4GUdEeOlpfB_tZS-QA" annotatedElement="_kzSSwGUdEeOlpfB_tZS-QA">
           <body>A checked version of getOwningLayersStack.&#xD;
 </body>
         </ownedComment>
-        <ownedParameter xmi:id="_r3jmwGUdEeOlpfB_tZS-QA" name="layersStack" type="_gT0asNa7EeKPiuTfpuvqHA" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_r3jmwGUdEeOlpfB_tZS-QA" name="layersStack" type="_gT0asNa7EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_YeJ4IHbvEeOlpfB_tZS-QA" name="enterAttachedState" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_YeJ4IXbvEeOlpfB_tZS-QA" annotatedElement="_YeJ4IHbvEeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_YeJ4IHbvEeOlpfB_tZS-QA" name="enterAttachedState" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_YeJ4IXbvEeOlpfB_tZS-QA" annotatedElement="_YeJ4IHbvEeOlpfB_tZS-QA">
           <body>This method is called by the class immediately after entering in attached state.&#xD;
 The methodcan be used to start the layer behaviors.</body>
         </ownedComment>
       </ownedOperation>
-      <ownedOperation xmi:id="_VTcHQHluEeOlpfB_tZS-QA" name="attach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_tUEZQHlvEeOlpfB_tZS-QA" annotatedElement="_VTcHQHluEeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_VTcHQHluEeOlpfB_tZS-QA" name="attach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_tUEZQHlvEeOlpfB_tZS-QA" annotatedElement="_VTcHQHluEeOlpfB_tZS-QA">
           <body>Try to attach this Layer. If successful, the state go to &quot;attached&quot;. Otherwise, an exception is thrown.&#xD;
 A Layer can be attached if its required attributes are set.&#xD;
 Required attributes:&#xD;
@@ -689,35 +625,27 @@
 If this Layer is successfully attached, then attach subLayers.</body>
         </ownedComment>
       </ownedOperation>
-      <ownedOperation xmi:id="_XeS1QHluEeOlpfB_tZS-QA" name="detach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_yitoYHlvEeOlpfB_tZS-QA" annotatedElement="_XeS1QHluEeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_XeS1QHluEeOlpfB_tZS-QA" name="detach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_yitoYHlvEeOlpfB_tZS-QA" annotatedElement="_XeS1QHluEeOlpfB_tZS-QA">
           <body>Detach the Layer. The state go to &quot;detached&quot;.&#xD;
 Associated behavior are stopped.</body>
         </ownedComment>
       </ownedOperation>
-      <ownedOperation xmi:id="_XNTkMHl0EeOlpfB_tZS-QA" name="exitAttachedState">
-        <ownedComment xmi:id="_e9TVwHl0EeOlpfB_tZS-QA" annotatedElement="_XNTkMHl0EeOlpfB_tZS-QA">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_XNTkMHl0EeOlpfB_tZS-QA" name="exitAttachedState">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_e9TVwHl0EeOlpfB_tZS-QA" annotatedElement="_XNTkMHl0EeOlpfB_tZS-QA">
           <body>This method is called just before this Layer leave the attached state.&#xD;
 </body>
         </ownedComment>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_HoKjcNjjEeKQqZMBCFd2Uw" name="LayerOperator" isAbstract="true">
-      <generalization xmi:id="_OJCPcNjjEeKQqZMBCFd2Uw" general="_9IaAANjiEeKQqZMBCFd2Uw"/>
-      <ownedAttribute xmi:id="_emyegNjnEeKQqZMBCFd2Uw" name="layers" type="_9IaAANjiEeKQqZMBCFd2Uw" isOrdered="true" aggregation="composite" association="_em-rwNjnEeKQqZMBCFd2Uw">
+      <generalization xmi:type="uml:Generalization" xmi:id="_OJCPcNjjEeKQqZMBCFd2Uw" general="_9IaAANjiEeKQqZMBCFd2Uw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_emyegNjnEeKQqZMBCFd2Uw" name="layers" type="_9IaAANjiEeKQqZMBCFd2Uw" isOrdered="true" aggregation="composite" association="_em-rwNjnEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_emyegdjnEeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_emyegtjnEeKQqZMBCFd2Uw" value="*"/>
       </ownedAttribute>
-      <interfaceRealization xmi:id="_0RxQgHpGEeOlpfB_tZS-QA" name="InterfaceRealization1" client="_HoKjcNjjEeKQqZMBCFd2Uw" supplier="_RopgYHpGEeOlpfB_tZS-QA" contract="_RopgYHpGEeOlpfB_tZS-QA"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_WuVRUNjjEeKQqZMBCFd2Uw" name="AbstractLayerOperator" isAbstract="true">
-      <generalization xmi:id="_0lwNANjjEeKQqZMBCFd2Uw" general="_HoKjcNjjEeKQqZMBCFd2Uw"/>
-      <ownedAttribute xmi:id="_KSjUEAkdEeOnVqX9VcfeWQ" name="layerOperatorDescriptor" type="_GKddUAkdEeOnVqX9VcfeWQ" association="_KSvhUAkdEeOnVqX9VcfeWQ">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KSjUEQkdEeOnVqX9VcfeWQ" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KSjUEgkdEeOnVqX9VcfeWQ" value="1"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="__XEYgAw-EeOjX-JbGFEH7w" name="layerOperatorDescriptorName" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
-        <ownedComment xmi:id="_GnIFwAw_EeOjX-JbGFEH7w">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="__XEYgAw-EeOjX-JbGFEH7w" name="layerOperatorDescriptorName" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_GnIFwAw_EeOjX-JbGFEH7w">
           <body>The name of the associated descriptor.&#xD;
 This name is persisted with the  LayerOperator. The descriptor is not persisted.&#xD;
 The name is used to retrieve the Descriptor from the LayerOperatorDescriptorRegistry, when the application object is set. </body>
@@ -728,14 +656,19 @@
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedOperation xmi:id="_Dhl7YAxDEeOjX-JbGFEH7w" name="isDescriptorSet">
-        <ownedComment xmi:id="_LWD9QAxDEeOjX-JbGFEH7w">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_gF7Jw7UQEeiPJeGnZrmqWw" name="layerOperatorDescriptor" type="_GKddUAkdEeOnVqX9VcfeWQ" association="_gF7JwLUQEeiPJeGnZrmqWw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gF7w0LUQEeiPJeGnZrmqWw" value="1"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gF7w0bUQEeiPJeGnZrmqWw" value="1"/>
+      </ownedAttribute>
+      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_0RxQgHpGEeOlpfB_tZS-QA" name="InterfaceRealization1" client="_HoKjcNjjEeKQqZMBCFd2Uw" supplier="_RopgYHpGEeOlpfB_tZS-QA" contract="_RopgYHpGEeOlpfB_tZS-QA"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_Dhl7YAxDEeOjX-JbGFEH7w" name="isDescriptorSet">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_LWD9QAxDEeOjX-JbGFEH7w">
           <body>Return true if the Descriptor is set. Return false otherwise.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_KE53YAxDEeOjX-JbGFEH7w" name="return" type="_TqqsYNa8EeKPiuTfpuvqHA" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_KE53YAxDEeOjX-JbGFEH7w" name="return" type="_TqqsYNa8EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_0VaLUA3SEeOjX-JbGFEH7w" name="resetDescriptor">
-        <ownedComment xmi:id="_4IMgcA3SEeOjX-JbGFEH7w">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_0VaLUA3SEeOjX-JbGFEH7w" name="resetDescriptor">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_4IMgcA3SEeOjX-JbGFEH7w">
           <body>Reset the descriptor accordingly to the descriptor name.&#xD;
 The descriptor is resseted only if the ::application and ::layerOperatorDescriptorName are set.&#xD;
 Nothing is done if one of the attribute is not set.&#xD;
@@ -744,38 +677,35 @@
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_gqW1kNjjEeKQqZMBCFd2Uw" name="TopLayerOperator">
-      <generalization xmi:id="_zoqSoNjjEeKQqZMBCFd2Uw" general="_WuVRUNjjEeKQqZMBCFd2Uw"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_zoqSoNjjEeKQqZMBCFd2Uw" general="_HoKjcNjjEeKQqZMBCFd2Uw"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_wpB4wNjjEeKQqZMBCFd2Uw" name="StackedLayerOperator">
-      <generalization xmi:id="_zL9IgNjjEeKQqZMBCFd2Uw" general="_WuVRUNjjEeKQqZMBCFd2Uw"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_1xJCENjjEeKQqZMBCFd2Uw" name="CustomLayerOperator">
-      <generalization xmi:id="_4b_ewNjjEeKQqZMBCFd2Uw" general="_HoKjcNjjEeKQqZMBCFd2Uw"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_zL9IgNjjEeKQqZMBCFd2Uw" general="_HoKjcNjjEeKQqZMBCFd2Uw"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_3q_DINjkEeKQqZMBCFd2Uw" name="layer_view_1" memberEnd="_3q_DIdjkEeKQqZMBCFd2Uw _3qy14NjkEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_3q_DIdjkEeKQqZMBCFd2Uw" name="layer" type="_51zAINa7EeKPiuTfpuvqHA" association="_3q_DINjkEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_3q_DIdjkEeKQqZMBCFd2Uw" name="layer" type="_51zAINa7EeKPiuTfpuvqHA" association="_3q_DINjkEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3q_DItjkEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3q_DI9jkEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_em-rwNjnEeKQqZMBCFd2Uw" name="layerOperator_layerExpression_1" memberEnd="_em-rwdjnEeKQqZMBCFd2Uw _emyegNjnEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_em-rwdjnEeKQqZMBCFd2Uw" name="layerOperator" type="_HoKjcNjjEeKQqZMBCFd2Uw" association="_em-rwNjnEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_em-rwdjnEeKQqZMBCFd2Uw" name="layerOperator" type="_HoKjcNjjEeKQqZMBCFd2Uw" association="_em-rwNjnEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_em-rwtjnEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_em-rw9jnEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_uMYd4NjoEeKQqZMBCFd2Uw" name="LayerStackDescriptorRegistry"/>
     <packagedElement xmi:type="uml:Class" xmi:id="_8OefoNjoEeKQqZMBCFd2Uw" name="PropertyRegistry">
-      <ownedAttribute xmi:id="_NVP94NjqEeKQqZMBCFd2Uw" name="properties" type="_-vaacNa7EeKPiuTfpuvqHA" isOrdered="true" aggregation="composite" association="_NVcLINjqEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_NVP94NjqEeKQqZMBCFd2Uw" name="properties" type="_-vaacNa7EeKPiuTfpuvqHA" isOrdered="true" aggregation="composite" association="_NVcLINjqEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NVP94djqEeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NVP94tjqEeKQqZMBCFd2Uw" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_JhvqgNj_EeKQqZMBCFd2Uw" name="typeRegistry" type="_tLip8Nj-EeKQqZMBCFd2Uw" aggregation="composite" association="_Jh73wNj_EeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_JhvqgNj_EeKQqZMBCFd2Uw" name="typeRegistry" type="_tLip8Nj-EeKQqZMBCFd2Uw" aggregation="composite" association="_Jh73wNj_EeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Jhvqgdj_EeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Jhvqgtj_EeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_RrX8YA2qEeOjX-JbGFEH7w" name="propertiesCount" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_p3RfsA2qEeOjX-JbGFEH7w">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_RrX8YA2qEeOjX-JbGFEH7w" name="propertiesCount" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_p3RfsA2qEeOjX-JbGFEH7w">
           <body>The number of registered properties.&#xD;
 This is a value derived from the internal list of properties.</body>
         </ownedComment>
@@ -785,42 +715,42 @@
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedOperation xmi:id="_1X6RoNkCEeKQqZMBCFd2Uw" name="getPropertyIndex" raisedException="_k-dZENxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="__hV_wNkCEeKQqZMBCFd2Uw" name="propertyName" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
-        <ownedParameter xmi:id="_F2HJcNkDEeKQqZMBCFd2Uw" name="return" type="_SuHkkNa8EeKPiuTfpuvqHA" direction="return"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_1X6RoNkCEeKQqZMBCFd2Uw" name="getPropertyIndex" raisedException="_k-dZENxGEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="__hV_wNkCEeKQqZMBCFd2Uw" name="propertyName" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_F2HJcNkDEeKQqZMBCFd2Uw" name="return" type="_SuHkkNa8EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_dcjjAOT7EeKSDdPH_NXL-g" name="getProperty" raisedException="_k-dZENxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_dcjjAeT7EeKSDdPH_NXL-g" name="propertyName" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
-        <ownedParameter xmi:id="_dcjjAuT7EeKSDdPH_NXL-g" name="return" type="_-vaacNa7EeKPiuTfpuvqHA" direction="return"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dcjjAOT7EeKSDdPH_NXL-g" name="getProperty" raisedException="_k-dZENxGEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_dcjjAeT7EeKSDdPH_NXL-g" name="propertyName" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_dcjjAuT7EeKSDdPH_NXL-g" name="return" type="_-vaacNa7EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_Klpz4A3LEeOjX-JbGFEH7w" name="addProperty">
-        <ownedComment xmi:id="_RE4hIA3LEeOjX-JbGFEH7w">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_Klpz4A3LEeOjX-JbGFEH7w" name="addProperty">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_RE4hIA3LEeOjX-JbGFEH7w">
           <body>Add the property to the registry.&#xD;
 Also set the index of the property.&#xD;
 Do nothing if a Property with the same name already exist.&#xD;
 Note: a Property can not be retrieved from the registry (the operation is not supported by the application).</body>
         </ownedComment>
-        <ownedParameter xmi:id="_P1PeMA3LEeOjX-JbGFEH7w" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_P1PeMA3LEeOjX-JbGFEH7w" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_DYi5oNjpEeKQqZMBCFd2Uw" name="layersStackApplication_layerStackRegistry_1" memberEnd="_DYi5odjpEeKQqZMBCFd2Uw _DYWsYNjpEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_DYi5odjpEeKQqZMBCFd2Uw" name="layersStackApplication" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_DYi5oNjpEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_DYi5odjpEeKQqZMBCFd2Uw" name="layersStackApplication" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_DYi5oNjpEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DYi5otjpEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DYi5o9jpEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_EEjEANjpEeKQqZMBCFd2Uw" name="layersStackApplication_propertyRegistry_1" memberEnd="_EEjEAdjpEeKQqZMBCFd2Uw _EEc9YNjpEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_EEjEAdjpEeKQqZMBCFd2Uw" name="layersStackApplication" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_EEjEANjpEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_EEjEAdjpEeKQqZMBCFd2Uw" name="layersStackApplication" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_EEjEANjpEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EEjEAtjpEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EEjEA9jpEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_ItBOgNjqEeKQqZMBCFd2Uw" name="PropertyIndex">
-      <ownedAttribute xmi:id="_ZcvUINjqEeKQqZMBCFd2Uw" name="property" type="_-vaacNa7EeKPiuTfpuvqHA" association="_ZdBoANjqEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ZcvUINjqEeKQqZMBCFd2Uw" name="property" type="_-vaacNa7EeKPiuTfpuvqHA" association="_ZdBoANjqEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZcvUIdjqEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZcvUItjqEeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_j-DE0NjsEeKQqZMBCFd2Uw" name="index" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_j-DE0NjsEeKQqZMBCFd2Uw" name="index" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lYYU0NjsEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lYqosNjsEeKQqZMBCFd2Uw" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_lZbdsNjsEeKQqZMBCFd2Uw">
@@ -829,23 +759,23 @@
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_NVcLINjqEeKQqZMBCFd2Uw" name="propertyRegistry_property_1" memberEnd="_NVcLIdjqEeKQqZMBCFd2Uw _NVP94NjqEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_NVcLIdjqEeKQqZMBCFd2Uw" name="propertyRegistry" type="_8OefoNjoEeKQqZMBCFd2Uw" association="_NVcLINjqEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_NVcLIdjqEeKQqZMBCFd2Uw" name="propertyRegistry" type="_8OefoNjoEeKQqZMBCFd2Uw" association="_NVcLINjqEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NVcLItjqEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NVcLI9jqEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_ZdBoANjqEeKQqZMBCFd2Uw" name="propertyIndex_property_1" memberEnd="_ZdBoAdjqEeKQqZMBCFd2Uw _ZcvUINjqEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_ZdBoAdjqEeKQqZMBCFd2Uw" name="propertyIndex" type="_ItBOgNjqEeKQqZMBCFd2Uw" association="_ZdBoANjqEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_ZdBoAdjqEeKQqZMBCFd2Uw" name="propertyIndex" type="_ItBOgNjqEeKQqZMBCFd2Uw" association="_ZdBoANjqEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZdBoAtjqEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZdBoA9jqEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_hgu_wNjqEeKQqZMBCFd2Uw" name="StringToPropertyIndexMap">
-      <ownedAttribute xmi:id="_mzbocNjqEeKQqZMBCFd2Uw" name="value" type="_ItBOgNjqEeKQqZMBCFd2Uw" aggregation="composite" association="_mzt8UNjqEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mzbocNjqEeKQqZMBCFd2Uw" name="value" type="_ItBOgNjqEeKQqZMBCFd2Uw" aggregation="composite" association="_mzt8UNjqEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mzbocdjqEeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mzboctjqEeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_fQXNsNjsEeKQqZMBCFd2Uw" name="key" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_fQXNsNjsEeKQqZMBCFd2Uw" name="key" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hC3tINjsEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hDKoENjsEeKQqZMBCFd2Uw" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_hD5A0NjsEeKQqZMBCFd2Uw">
@@ -854,35 +784,35 @@
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_mzt8UNjqEeKQqZMBCFd2Uw" name="stringToPropertyIndexMap_propertyIndex_1" memberEnd="_mzt8UdjqEeKQqZMBCFd2Uw _mzbocNjqEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_mzt8UdjqEeKQqZMBCFd2Uw" name="stringToPropertyIndexMap" type="_hgu_wNjqEeKQqZMBCFd2Uw" association="_mzt8UNjqEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_mzt8UdjqEeKQqZMBCFd2Uw" name="stringToPropertyIndexMap" type="_hgu_wNjqEeKQqZMBCFd2Uw" association="_mzt8UNjqEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mzt8UtjqEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mzt8U9jqEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_tLip8Nj-EeKQqZMBCFd2Uw" name="TypeRegistry">
-      <ownedAttribute xmi:id="_2az14Nj-EeKQqZMBCFd2Uw" name="types" type="_P4xeANj_EeKQqZMBCFd2Uw" aggregation="composite" association="_2bADINj-EeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_2az14Nj-EeKQqZMBCFd2Uw" name="types" type="_P4xeANj_EeKQqZMBCFd2Uw" aggregation="composite" association="_2bADINj-EeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2az14dj-EeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2az14tj-EeKQqZMBCFd2Uw" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_2bADINj-EeKQqZMBCFd2Uw" name="typeRegistry_type_1" memberEnd="_2bADIdj-EeKQqZMBCFd2Uw _2az14Nj-EeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_2bADIdj-EeKQqZMBCFd2Uw" name="typeRegistry" type="_tLip8Nj-EeKQqZMBCFd2Uw" association="_2bADINj-EeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_2bADIdj-EeKQqZMBCFd2Uw" name="typeRegistry" type="_tLip8Nj-EeKQqZMBCFd2Uw" association="_2bADINj-EeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2bADItj-EeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2bADI9j-EeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_Jh73wNj_EeKQqZMBCFd2Uw" name="propertyRegistry_typeRegistry_1" memberEnd="_Jh73wdj_EeKQqZMBCFd2Uw _JhvqgNj_EeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_Jh73wdj_EeKQqZMBCFd2Uw" name="propertyRegistry" type="_8OefoNjoEeKQqZMBCFd2Uw" association="_Jh73wNj_EeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_Jh73wdj_EeKQqZMBCFd2Uw" name="propertyRegistry" type="_8OefoNjoEeKQqZMBCFd2Uw" association="_Jh73wNj_EeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Jh73wtj_EeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Jh73w9j_EeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_P4xeANj_EeKQqZMBCFd2Uw" name="StringToTypeMap">
-      <ownedAttribute xmi:id="_U05ZwNj_EeKQqZMBCFd2Uw" name="value" type="_EoL3oNhcEeKgkM6XJF9t4A" aggregation="composite" association="_U1FnANj_EeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_U05ZwNj_EeKQqZMBCFd2Uw" name="value" type="_EoL3oNhcEeKgkM6XJF9t4A" aggregation="composite" association="_U1FnANj_EeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U05Zwdj_EeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U05Zwtj_EeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_kaf1oNj_EeKQqZMBCFd2Uw" name="key" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_kaf1oNj_EeKQqZMBCFd2Uw" name="key" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lxSCYNj_EeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lxkWQNj_EeKQqZMBCFd2Uw" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_lyPEoNj_EeKQqZMBCFd2Uw">
@@ -891,65 +821,62 @@
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_U1FnANj_EeKQqZMBCFd2Uw" name="stringToTypeMap_type_1" memberEnd="_U1FnAdj_EeKQqZMBCFd2Uw _U05ZwNj_EeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_U1FnAdj_EeKQqZMBCFd2Uw" name="stringToTypeMap" type="_P4xeANj_EeKQqZMBCFd2Uw" association="_U1FnANj_EeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_U1FnAdj_EeKQqZMBCFd2Uw" name="stringToTypeMap" type="_P4xeANj_EeKQqZMBCFd2Uw" association="_U1FnANj_EeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U1FnAtj_EeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U1FnA9j_EeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_hQam0NkhEeKQqZMBCFd2Uw" name="layersStack_diagram_1" memberEnd="_hQam0dkhEeKQqZMBCFd2Uw _hQIS8NkhEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_hQam0dkhEeKQqZMBCFd2Uw" name="layersStack" type="_gT0asNa7EeKPiuTfpuvqHA" association="_hQam0NkhEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_hQam0dkhEeKQqZMBCFd2Uw" name="layersStack" type="_gT0asNa7EeKPiuTfpuvqHA" association="_hQam0NkhEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQam0tkhEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQam09khEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_zYGE8NqBEeKQqZMBCFd2Uw" name="LayerDescriptorRegistry">
-      <ownedAttribute xmi:id="_TzkRwNqCEeKQqZMBCFd2Uw" name="layerDescriptors" type="_eNnjMNa7EeKPiuTfpuvqHA" aggregation="composite" association="_Tz2loNqCEeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_TzkRwNqCEeKQqZMBCFd2Uw" name="layerDescriptors" type="_eNnjMNa7EeKPiuTfpuvqHA" aggregation="composite" association="_Tz2loNqCEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TzkRwdqCEeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TzkRwtqCEeKQqZMBCFd2Uw" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_5r8BkNqBEeKQqZMBCFd2Uw" name="layersStackApplication_layerDescriptorRegistry_1" memberEnd="_5r8BkdqBEeKQqZMBCFd2Uw _5rptsNqBEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_5r8BkdqBEeKQqZMBCFd2Uw" name="layersStackApplication" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_5r8BkNqBEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_5r8BkdqBEeKQqZMBCFd2Uw" name="layersStackApplication" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_5r8BkNqBEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5r8BktqBEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5r8Bk9qBEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_Tz2loNqCEeKQqZMBCFd2Uw" name="layerDescriptorRegistry_layerDescriptor_1" memberEnd="_Tz2lodqCEeKQqZMBCFd2Uw _TzkRwNqCEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_Tz2lodqCEeKQqZMBCFd2Uw" name="layerDescriptorRegistry" type="_zYGE8NqBEeKQqZMBCFd2Uw" association="_Tz2loNqCEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_Tz2lodqCEeKQqZMBCFd2Uw" name="layerDescriptorRegistry" type="_zYGE8NqBEeKQqZMBCFd2Uw" association="_Tz2loNqCEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Tz2lotqCEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Tz2lo9qCEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_iim5ENqCEeKQqZMBCFd2Uw" name="layerDescriptor_propertyRegistry_1" memberEnd="_iim5EdqCEeKQqZMBCFd2Uw _iiUlMNqCEeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="_iim5EdqCEeKQqZMBCFd2Uw" name="layerDescriptor" type="_eNnjMNa7EeKPiuTfpuvqHA" association="_iim5ENqCEeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_iim5EdqCEeKQqZMBCFd2Uw" name="layerDescriptor" type="_eNnjMNa7EeKPiuTfpuvqHA" association="_iim5ENqCEeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iim5EtqCEeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iim5E9qCEeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_xhwY8NqCEeKQqZMBCFd2Uw" name="SimpleLayerDescriptor">
-      <generalization xmi:id="_3ee2ENqCEeKQqZMBCFd2Uw" general="_eNnjMNa7EeKPiuTfpuvqHA"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_z4m7kNqCEeKQqZMBCFd2Uw" name="RegExpLayerDescriptor">
-      <generalization xmi:id="_5RvjcNqCEeKQqZMBCFd2Uw" general="_eNnjMNa7EeKPiuTfpuvqHA"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_3ee2ENqCEeKQqZMBCFd2Uw" general="_eNnjMNa7EeKPiuTfpuvqHA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_325AENt0EeKQqZMBCFd2Uw" name="ApplicationDependantElement" isAbstract="true">
-      <ownedComment xmi:id="_KjtrkNt1EeKQqZMBCFd2Uw">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_KjtrkNt1EeKQqZMBCFd2Uw">
         <body>Base class for elements depending on the LayerStackApplication.&#xD;
 This class carry a referenceto the Application.</body>
       </ownedComment>
-      <ownedAttribute xmi:id="__rXB8Nt0EeKQqZMBCFd2Uw" name="application" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="__rpV0Nt0EeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="__rXB8Nt0EeKQqZMBCFd2Uw" name="application" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="__rpV0Nt0EeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__rXB8dt0EeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__rXB8tt0EeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="__rpV0Nt0EeKQqZMBCFd2Uw" name="applicationDependantElement_layersStackApplication_1" memberEnd="__rpV0dt0EeKQqZMBCFd2Uw __rXB8Nt0EeKQqZMBCFd2Uw">
-      <ownedEnd xmi:id="__rpV0dt0EeKQqZMBCFd2Uw" name="applicationDependantElement" type="_325AENt0EeKQqZMBCFd2Uw" association="__rpV0Nt0EeKQqZMBCFd2Uw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="__rpV0dt0EeKQqZMBCFd2Uw" name="applicationDependantElement" type="_325AENt0EeKQqZMBCFd2Uw" association="__rpV0Nt0EeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__rpV0tt0EeKQqZMBCFd2Uw" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__rpV09t0EeKQqZMBCFd2Uw" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_IOwJ4Nt2EeKQqZMBCFd2Uw" name="LayerApplicationFactory">
-      <ownedAttribute xmi:id="_wROkUdt2EeKQqZMBCFd2Uw" name="application" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_wROkUNt2EeKQqZMBCFd2Uw">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_wROkUdt2EeKQqZMBCFd2Uw" name="application" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_wROkUNt2EeKQqZMBCFd2Uw">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wROkUtt2EeKQqZMBCFd2Uw"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wROkU9t2EeKQqZMBCFd2Uw" value="1"/>
       </ownedAttribute>
@@ -957,377 +884,169 @@
     <packagedElement xmi:type="uml:Association" xmi:id="_wROkUNt2EeKQqZMBCFd2Uw" name="layersStackApplication_layerApplicationFactory_1" memberEnd="_wROkUdt2EeKQqZMBCFd2Uw _wRCXENt2EeKQqZMBCFd2Uw"/>
     <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_iYKFMNxGEeKwptaAAanMDg" name="LayersException"/>
     <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_k-dZENxGEeKwptaAAanMDg" name="NotFoundException">
-      <generalization xmi:id="_oxlscNxGEeKwptaAAanMDg" general="_iYKFMNxGEeKwptaAAanMDg"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_oxlscNxGEeKwptaAAanMDg" general="_iYKFMNxGEeKwptaAAanMDg"/>
     </packagedElement>
     <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_KG7HMNxMEeKwptaAAanMDg" name="BadStateException">
-      <generalization xmi:id="_ShHsUNxMEeKwptaAAanMDg" general="_iYKFMNxGEeKwptaAAanMDg"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_ShHsUNxMEeKwptaAAanMDg" general="_iYKFMNxGEeKwptaAAanMDg"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_agAC4NxWEeKwptaAAanMDg" name="NullInstance">
-      <generalization xmi:id="_drCbgNxWEeKwptaAAanMDg" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
-      <ownedOperation xmi:id="_OU7XsNxXEeKwptaAAanMDg" name="getInstance" isStatic="true">
-        <ownedParameter xmi:id="_WSaLoNxXEeKwptaAAanMDg" type="_agAC4NxWEeKwptaAAanMDg" direction="return"/>
-      </ownedOperation>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_z9aN8OHTEeKCZbxNW-U3VQ" name="RegExpLayer">
-      <generalization xmi:id="_R8qP8OHUEeKCZbxNW-U3VQ" general="_51zAINa7EeKPiuTfpuvqHA"/>
-      <ownedAttribute xmi:id="_Bm93wBZ1EeOZwp016gnCFQ" name="expr" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DqoYoBZ1EeOZwp016gnCFQ" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Dq76oBZ1EeOZwp016gnCFQ" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_Dr0rcBZ1EeOZwp016gnCFQ">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_Fp_BQBZ1EeOZwp016gnCFQ" name="language" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_H11NwBZ1EeOZwp016gnCFQ" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_H2IIsBZ1EeOZwp016gnCFQ" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_H3BgkBZ1EeOZwp016gnCFQ">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_NAa0AFCkEeO_9LQ4jZWm3w" name="isDomainChangedEventDependant" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TxFPgFCkEeO_9LQ4jZWm3w" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TxFPgVCkEeO_9LQ4jZWm3w" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_TxFPglCkEeO_9LQ4jZWm3w">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_X_qIwFCkEeO_9LQ4jZWm3w" name="domainChangedEventLevel" visibility="public" type="_7cWpgFVHEeOah7Z-UYdQAA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rnnm0FCkEeO_9LQ4jZWm3w" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rnnm0VCkEeO_9LQ4jZWm3w" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_rnnm0lCkEeO_9LQ4jZWm3w">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_uJr68FCkEeO_9LQ4jZWm3w" name="isDiagramChangedEventDependant" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ua2jcFCkEeO_9LQ4jZWm3w" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ua8qEFCkEeO_9LQ4jZWm3w" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_ua8qEVCkEeO_9LQ4jZWm3w">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_y220sFCkEeO_9LQ4jZWm3w" name="diagramChangedEventLevel" visibility="public" type="_7cWpgFVHEeOah7Z-UYdQAA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1VR-8FCkEeO_9LQ4jZWm3w" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1VR-8VCkEeO_9LQ4jZWm3w" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_1VR-8lCkEeO_9LQ4jZWm3w">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_sPbYQFClEeO_9LQ4jZWm3w" name="expressionContextObjectType" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wnnggFClEeO_9LQ4jZWm3w" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wnnggVClEeO_9LQ4jZWm3w" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_wnngglClEeO_9LQ4jZWm3w">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedOperation xmi:id="_kI0XsBZ0EeOZwp016gnCFQ" name="activate">
-        <ownedParameter xmi:id="_Ifv3ABaBEeOZwp016gnCFQ" name="newParentLayer" type="_WuVRUNjjEeKQqZMBCFd2Uw"/>
-      </ownedOperation>
-      <ownedOperation xmi:id="_lpOagBZ0EeOZwp016gnCFQ" name="deactivate">
-        <ownedParameter xmi:id="_MZS7cBaBEeOZwp016gnCFQ" name="oldParentLayer" type="_WuVRUNjjEeKQqZMBCFd2Uw"/>
-      </ownedOperation>
-      <ownedOperation xmi:id="_pKKxsBZ0EeOZwp016gnCFQ" name="isDerivedView" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_-UwgIBZ0EeOZwp016gnCFQ" name="res" type="_TqqsYNa8EeKPiuTfpuvqHA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LLUi4BZ1EeOZwp016gnCFQ" value="1"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_LLnd0BZ1EeOZwp016gnCFQ" value="1"/>
-        </ownedParameter>
-        <ownedParameter xmi:id="_0YIjYFVIEeOah7Z-UYdQAA" name="view">
-          <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
-        </ownedParameter>
-      </ownedOperation>
-      <ownedOperation xmi:id="_EnH6gFVJEeOah7Z-UYdQAA" name="attachDerivedView" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_Pusr4FVJEeOah7Z-UYdQAA">
-          <body>Attach the provided view to the Layer if the isDerivedView(view) return true for this view.</body>
-        </ownedComment>
-        <ownedParameter xmi:id="_EnH6hFVJEeOah7Z-UYdQAA" name="view">
-          <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
-        </ownedParameter>
-      </ownedOperation>
-      <ownedOperation xmi:id="_Y5m8QFVJEeOah7Z-UYdQAA" name="attachDerivedViews" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_Y5m8QVVJEeOah7Z-UYdQAA">
-          <body>For each view, attach it to the Layer if the isDerivedView(view) return true for the view.</body>
-        </ownedComment>
-        <ownedParameter xmi:id="_Y5m8QlVJEeOah7Z-UYdQAA" name="views">
-          <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_h3YvkFVJEeOah7Z-UYdQAA"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_h3YvkVVJEeOah7Z-UYdQAA" value="*"/>
-        </ownedParameter>
-      </ownedOperation>
-      <ownedOperation xmi:id="_m3jd0FVJEeOah7Z-UYdQAA" name="attachDerivedViews" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_m3jd0VVJEeOah7Z-UYdQAA">
-          <body>Attach the views associated to the Diagram to this layer, if the isDerivedView(view) return true for the view.</body>
-        </ownedComment>
-      </ownedOperation>
-      <ownedOperation xmi:id="_Lwc4MFVKEeOah7Z-UYdQAA" name="lookupDerivedViews" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_Lwc4MVVKEeOah7Z-UYdQAA">
-          <body>Return the subcollection of views for which the expression return true.</body>
-        </ownedComment>
-        <ownedParameter xmi:id="_Lwc4MlVKEeOah7Z-UYdQAA" name="views">
-          <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Lwc4M1VKEeOah7Z-UYdQAA"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Lwc4NFVKEeOah7Z-UYdQAA" value="*"/>
-        </ownedParameter>
-        <ownedParameter xmi:id="_X28v8FVKEeOah7Z-UYdQAA" name="res" direction="return">
-          <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hTG1cFVXEeOeP67GJGKDkA"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hTG1cVVXEeOeP67GJGKDkA" value="*"/>
-        </ownedParameter>
+      <generalization xmi:type="uml:Generalization" xmi:id="_drCbgNxWEeKwptaAAanMDg" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_OU7XsNxXEeKwptaAAanMDg" name="getInstance" isStatic="true">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_WSaLoNxXEeKwptaAAanMDg" type="_agAC4NxWEeKwptaAAanMDg" direction="return"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="__1GNoOHTEeKCZbxNW-U3VQ" name="Layer">
-      <generalization xmi:id="_am4OEOHUEeKCZbxNW-U3VQ" general="_51zAINa7EeKPiuTfpuvqHA"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_ti_eQOT_EeKSDdPH_NXL-g" name="Color">
-      <generalization xmi:id="_Y0k5AOUAEeKSDdPH_NXL-g" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_vkSnoOT_EeKSDdPH_NXL-g" name="ColorInstance">
-      <generalization xmi:id="_YCxooOUAEeKSDdPH_NXL-g" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
-      <ownedAttribute xmi:id="_Q8HvAOUAEeKSDdPH_NXL-g" name="value" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q8HvAeUAEeKSDdPH_NXL-g" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q8HvAuUAEeKSDdPH_NXL-g" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_Q8HvA-UAEeKSDdPH_NXL-g">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_fL2kIOUAEeKSDdPH_NXL-g" name="FillInstance">
-      <generalization xmi:id="_jXYwcOUAEeKSDdPH_NXL-g" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
-      <ownedAttribute xmi:id="_nVngkOUAEeKSDdPH_NXL-g" name="transparency" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nVngkeUAEeKSDdPH_NXL-g" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nVngkuUAEeKSDdPH_NXL-g" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_nVngk-UAEeKSDdPH_NXL-g">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_uTht4OUAEeKSDdPH_NXL-g" name="fillColor" type="_vkSnoOT_EeKSDdPH_NXL-g" aggregation="composite" association="_uTre4OUAEeKSDdPH_NXL-g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uTht4eUAEeKSDdPH_NXL-g" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uTht4uUAEeKSDdPH_NXL-g" value="1"/>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gsEZsOUAEeKSDdPH_NXL-g" name="Fill">
-      <generalization xmi:id="_ip-Q0OUAEeKSDdPH_NXL-g" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_uTre4OUAEeKSDdPH_NXL-g" name="fillInstance_colorInstance_1" memberEnd="_uTre4eUAEeKSDdPH_NXL-g _uTht4OUAEeKSDdPH_NXL-g">
-      <ownedEnd xmi:id="_uTre4eUAEeKSDdPH_NXL-g" name="fillInstance" type="_fL2kIOUAEeKSDdPH_NXL-g" association="_uTre4OUAEeKSDdPH_NXL-g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_uTre4uUAEeKSDdPH_NXL-g" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uTre4-UAEeKSDdPH_NXL-g" value="1"/>
-      </ownedEnd>
+      <generalization xmi:type="uml:Generalization" xmi:id="_am4OEOHUEeKCZbxNW-U3VQ" general="_51zAINa7EeKPiuTfpuvqHA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_q85OgO3uEeKwLp35IbAIig" name="PropertySetterRegistry">
-      <ownedAttribute xmi:id="_3GHqIe3uEeKwLp35IbAIig" name="application" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_3GHqIO3uEeKwLp35IbAIig">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_3GHqIe3uEeKwLp35IbAIig" name="application" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_3GHqIO3uEeKwLp35IbAIig">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3GHqIu3uEeKwLp35IbAIig"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3GHqI-3uEeKwLp35IbAIig" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_iPT94O3vEeKwLp35IbAIig" name="propertySetters" type="_fyVlIO3vEeKwLp35IbAIig" isOrdered="true" association="_iPmRwO3vEeKwLp35IbAIig">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_iPT94O3vEeKwLp35IbAIig" name="propertySetters" type="_fyVlIO3vEeKwLp35IbAIig" isOrdered="true" association="_iPmRwO3vEeKwLp35IbAIig">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iPT94e3vEeKwLp35IbAIig"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iPT94u3vEeKwLp35IbAIig" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_hmejMO5mEeK0p4PkXjd-_Q" name="setterMap" type="_JSMf8O5mEeK0p4PkXjd-_Q" aggregation="composite" association="_hmkp0O5mEeK0p4PkXjd-_Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_hmejMO5mEeK0p4PkXjd-_Q" name="setterMap" type="_JSMf8O5mEeK0p4PkXjd-_Q" aggregation="composite" association="_hmkp0O5mEeK0p4PkXjd-_Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hmejMe5mEeK0p4PkXjd-_Q"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hmejMu5mEeK0p4PkXjd-_Q" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_L7LusO5WEeK0p4PkXjd-_Q" name="getPropertySetter" raisedException="_k-dZENxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_Tr1nkO5WEeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_ZJbRoO5WEeK0p4PkXjd-_Q" name="return" type="_fyVlIO3vEeKwLp35IbAIig" direction="return"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_L7LusO5WEeK0p4PkXjd-_Q" name="getPropertySetter" raisedException="_k-dZENxGEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_Tr1nkO5WEeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ZJbRoO5WEeK0p4PkXjd-_Q" name="return" type="_fyVlIO3vEeKwLp35IbAIig" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_fF4pAO5WEeK0p4PkXjd-_Q" name="getPropertySetter" raisedException="_k-dZENxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_fF4pAe5WEeK0p4PkXjd-_Q" name="property" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
-        <ownedParameter xmi:id="_fF4pAu5WEeK0p4PkXjd-_Q" name="return" type="_fyVlIO3vEeKwLp35IbAIig" direction="return"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_fF4pAO5WEeK0p4PkXjd-_Q" name="getPropertySetter" raisedException="_k-dZENxGEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_fF4pAe5WEeK0p4PkXjd-_Q" name="property" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_fF4pAu5WEeK0p4PkXjd-_Q" name="return" type="_fyVlIO3vEeKwLp35IbAIig" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_mCwUgO5WEeK0p4PkXjd-_Q" name="addPropertySetter">
-        <ownedParameter xmi:id="_quPzQO5WEeK0p4PkXjd-_Q" name="setter" type="_fyVlIO3vEeKwLp35IbAIig"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_mCwUgO5WEeK0p4PkXjd-_Q" name="addPropertySetter">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_quPzQO5WEeK0p4PkXjd-_Q" name="setter" type="_fyVlIO3vEeKwLp35IbAIig"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_3GHqIO3uEeKwLp35IbAIig" name="layersStackApplication_propertySetterRegistry_1" memberEnd="_3GHqIe3uEeKwLp35IbAIig _3F7c4O3uEeKwLp35IbAIig"/>
     <packagedElement xmi:type="uml:Class" xmi:id="_fyVlIO3vEeKwLp35IbAIig" name="PropertySetter" isAbstract="true">
-      <ownedAttribute xmi:id="_4C8Y8O5VEeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA" association="_4DImMO5VEeK0p4PkXjd-_Q">
-        <ownedComment xmi:id="_ApRVkO5WEeK0p4PkXjd-_Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_4C8Y8O5VEeK0p4PkXjd-_Q" name="property" type="_-vaacNa7EeKPiuTfpuvqHA" association="_4DImMO5VEeK0p4PkXjd-_Q">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_ApRVkO5WEeK0p4PkXjd-_Q">
           <body>The property for which this setter is for.</body>
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4C8Y8e5VEeK0p4PkXjd-_Q"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4C8Y8u5VEeK0p4PkXjd-_Q" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_p3vR8O5qEeK0p4PkXjd-_Q" name="propertyName" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_p3vR8O5qEeK0p4PkXjd-_Q" name="propertyName" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_scKWgO5qEeK0p4PkXjd-_Q" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sccqYO5qEeK0p4PkXjd-_Q" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_sdl54O5qEeK0p4PkXjd-_Q">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedOperation xmi:id="_GOgVMO5VEeK0p4PkXjd-_Q" name="setValue">
-        <ownedParameter xmi:id="_P9Ky4O5VEeK0p4PkXjd-_Q" name="view">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_GOgVMO5VEeK0p4PkXjd-_Q" name="setValue">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_P9Ky4O5VEeK0p4PkXjd-_Q" name="view">
           <type xmi:type="uml:Class" href="notation/notation.uml#_AziHOrcnEeKeLJDBCBPhPw"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_pXFBcO5VEeK0p4PkXjd-_Q" name="value" type="_AjTZ8Na8EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_pXFBcO5VEeK0p4PkXjd-_Q" name="value" type="_AjTZ8Na8EeKPiuTfpuvqHA"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_iPmRwO3vEeKwLp35IbAIig" name="propertySetterRegistry_propertySetter_1" memberEnd="_iPmRwe3vEeKwLp35IbAIig _iPT94O3vEeKwLp35IbAIig">
-      <ownedEnd xmi:id="_iPmRwe3vEeKwLp35IbAIig" name="propertySetterRegistry" type="_q85OgO3uEeKwLp35IbAIig" association="_iPmRwO3vEeKwLp35IbAIig">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_iPmRwe3vEeKwLp35IbAIig" name="propertySetterRegistry" type="_q85OgO3uEeKwLp35IbAIig" association="_iPmRwO3vEeKwLp35IbAIig">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iPmRwu3vEeKwLp35IbAIig" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iPmRw-3vEeKwLp35IbAIig" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_4DImMO5VEeK0p4PkXjd-_Q" name="propertySetter_property_1" memberEnd="_4DImMe5VEeK0p4PkXjd-_Q _4C8Y8O5VEeK0p4PkXjd-_Q">
-      <ownedEnd xmi:id="_4DImMe5VEeK0p4PkXjd-_Q" name="propertySetter" type="_fyVlIO3vEeKwLp35IbAIig" association="_4DImMO5VEeK0p4PkXjd-_Q">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_4DImMe5VEeK0p4PkXjd-_Q" name="propertySetter" type="_fyVlIO3vEeKwLp35IbAIig" association="_4DImMO5VEeK0p4PkXjd-_Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4DImMu5VEeK0p4PkXjd-_Q" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4DImM-5VEeK0p4PkXjd-_Q" value="1"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_R-WVkO5XEeK0p4PkXjd-_Q" name="FillPropertySetter">
-      <generalization xmi:id="_Y8pkcO5XEeK0p4PkXjd-_Q" general="_fyVlIO3vEeKwLp35IbAIig"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_Ue7b8O5XEeK0p4PkXjd-_Q" name="IsValidPropertySetter">
-      <generalization xmi:id="_ZxycsO5XEeK0p4PkXjd-_Q" general="_fyVlIO3vEeKwLp35IbAIig"/>
-    </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_JSMf8O5mEeK0p4PkXjd-_Q" name="StringToPropertySetter">
-      <ownedAttribute xmi:id="_NBuFsO5mEeK0p4PkXjd-_Q" name="key" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_NBuFsO5mEeK0p4PkXjd-_Q" name="key" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PgE-gO5mEeK0p4PkXjd-_Q" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PgdZAO5mEeK0p4PkXjd-_Q" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_Phgh4O5mEeK0p4PkXjd-_Q">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_QfjegO5mEeK0p4PkXjd-_Q" name="value" type="_fyVlIO3vEeKwLp35IbAIig" aggregation="composite" association="_QfvrwO5mEeK0p4PkXjd-_Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_QfjegO5mEeK0p4PkXjd-_Q" name="value" type="_fyVlIO3vEeKwLp35IbAIig" aggregation="composite" association="_QfvrwO5mEeK0p4PkXjd-_Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Qfjege5mEeK0p4PkXjd-_Q" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Qfjegu5mEeK0p4PkXjd-_Q" value="1"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_QfvrwO5mEeK0p4PkXjd-_Q" name="stringToPropertySetter_propertySetter_1" memberEnd="_Qfvrwe5mEeK0p4PkXjd-_Q _QfjegO5mEeK0p4PkXjd-_Q">
-      <ownedEnd xmi:id="_Qfvrwe5mEeK0p4PkXjd-_Q" name="stringToPropertySetter" type="_JSMf8O5mEeK0p4PkXjd-_Q" association="_QfvrwO5mEeK0p4PkXjd-_Q">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_Qfvrwe5mEeK0p4PkXjd-_Q" name="stringToPropertySetter" type="_JSMf8O5mEeK0p4PkXjd-_Q" association="_QfvrwO5mEeK0p4PkXjd-_Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Qfvrwu5mEeK0p4PkXjd-_Q" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Qfvrw-5mEeK0p4PkXjd-_Q" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_hmkp0O5mEeK0p4PkXjd-_Q" name="propertySetterRegistry_stringToPropertySetter_1" memberEnd="_hmkp0e5mEeK0p4PkXjd-_Q _hmejMO5mEeK0p4PkXjd-_Q">
-      <ownedEnd xmi:id="_hmkp0e5mEeK0p4PkXjd-_Q" name="propertySetterRegistry" type="_q85OgO3uEeKwLp35IbAIig" association="_hmkp0O5mEeK0p4PkXjd-_Q">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_hmkp0e5mEeK0p4PkXjd-_Q" name="propertySetterRegistry" type="_q85OgO3uEeKwLp35IbAIig" association="_hmkp0O5mEeK0p4PkXjd-_Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hmkp0u5mEeK0p4PkXjd-_Q" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hmkp0-5mEeK0p4PkXjd-_Q" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_-z_6YO5zEeK0p4PkXjd-_Q" name="NullPropertySetter">
-      <generalization xmi:id="_Co0P0O50EeK0p4PkXjd-_Q" general="_fyVlIO3vEeKwLp35IbAIig"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_Co0P0O50EeK0p4PkXjd-_Q" general="_fyVlIO3vEeKwLp35IbAIig"/>
     </packagedElement>
     <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_Qeyn4O7GEeK0p4PkXjd-_Q" name="ComputePropertyValueCommand"/>
     <packagedElement xmi:type="uml:Interface" xmi:id="_XZJOcO8UEeK0p4PkXjd-_Q" name="ComputePropertyValueCommandItf">
-      <ownedOperation xmi:id="_uYMx4O8ZEeK0p4PkXjd-_Q" name="getCmdValue" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_f0BhUO8aEeK0p4PkXjd-_Q">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_uYMx4O8ZEeK0p4PkXjd-_Q" name="getCmdValue" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_f0BhUO8aEeK0p4PkXjd-_Q">
           <body>	 * Execute the command and return the computed value.&#xD;
 	 * Compute the value of the Property, and return it.&#xD;
 	 * @return The computed value of the Property.&#xD;
 </body>
         </ownedComment>
-        <ownedParameter xmi:id="_zjYdUO8ZEeK0p4PkXjd-_Q" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_zjYdUO8ZEeK0p4PkXjd-_Q" type="_AjTZ8Na8EeKPiuTfpuvqHA" direction="return"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_rEb-0O-MEeK0p4PkXjd-_Q" name="abstractLayer_property_1" memberEnd="_rEb-0e-MEeK0p4PkXjd-_Q _rEPKgO-MEeK0p4PkXjd-_Q">
-      <ownedEnd xmi:id="_rEb-0e-MEeK0p4PkXjd-_Q" name="abstractLayer" type="_51zAINa7EeKPiuTfpuvqHA" association="_rEb-0O-MEeK0p4PkXjd-_Q">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_rEb-0e-MEeK0p4PkXjd-_Q" name="abstractLayer" type="_51zAINa7EeKPiuTfpuvqHA" association="_rEb-0O-MEeK0p4PkXjd-_Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rEb-0u-MEeK0p4PkXjd-_Q" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rEb-0--MEeK0p4PkXjd-_Q" value="1"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_RnjeUO-YEeK0p4PkXjd-_Q" name="LineType">
-      <generalization xmi:id="_UJAucO-YEeK0p4PkXjd-_Q" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_ZGwa0O-YEeK0p4PkXjd-_Q" name="LineInstance">
-      <generalization xmi:id="_ijurkO-YEeK0p4PkXjd-_Q" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
-      <ownedAttribute xmi:id="_vpaIYO-YEeK0p4PkXjd-_Q" name="lineColor" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_x1KOQO-YEeK0p4PkXjd-_Q" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_x1iowO-YEeK0p4PkXjd-_Q" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_x2frAO-YEeK0p4PkXjd-_Q">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_yrVBQO-YEeK0p4PkXjd-_Q" name="lineWith" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1JMK0O-YEeK0p4PkXjd-_Q" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1JbbYO-YEeK0p4PkXjd-_Q" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_1KSXAO-YEeK0p4PkXjd-_Q">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_JgyOsO-cEeK0p4PkXjd-_Q" name="LinePropertySetter">
-      <generalization xmi:id="_QKhi0O-cEeK0p4PkXjd-_Q" general="_fyVlIO3vEeKwLp35IbAIig"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_Gvwp0O-iEeK0p4PkXjd-_Q" name="FontPropertySetter">
-      <generalization xmi:id="_LuAFcO-iEeK0p4PkXjd-_Q" general="_fyVlIO3vEeKwLp35IbAIig"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_OtShEO-iEeK0p4PkXjd-_Q" name="FontInstance">
-      <generalization xmi:id="_VH6bIO-iEeK0p4PkXjd-_Q" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
-      <ownedAttribute xmi:id="_Xlt6UO-iEeK0p4PkXjd-_Q" name="fontColor" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aTOpcO-iEeK0p4PkXjd-_Q" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aTnD8O-iEeK0p4PkXjd-_Q" value="1"/>
-        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_vcdF8O-iEeK0p4PkXjd-_Q" value="15053796"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_bD8UsO-iEeK0p4PkXjd-_Q" name="fontName" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dY9rUO-iEeK0p4PkXjd-_Q" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_dZWF0O-iEeK0p4PkXjd-_Q" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_sZKUEO-iEeK0p4PkXjd-_Q" value="Segoe UI"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_epxy8O-iEeK0p4PkXjd-_Q" name="fontHeigh" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_heIw8O-iEeK0p4PkXjd-_Q" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hebE0O-iEeK0p4PkXjd-_Q" value="1"/>
-        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_x9IS8O-iEeK0p4PkXjd-_Q" value="9"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_inEu8O-iEeK0p4PkXjd-_Q" name="bold" visibility="public" type="_TqqsYNa8EeKPiuTfpuvqHA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_k3zbcO-iEeK0p4PkXjd-_Q" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_k4L18O-iEeK0p4PkXjd-_Q" value="1"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_0K5LAO-iEeK0p4PkXjd-_Q" value="true"/>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_Q6ta4O-iEeK0p4PkXjd-_Q" name="FontType">
-      <generalization xmi:id="_UKLAgO-iEeK0p4PkXjd-_Q" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_xZ-bMO-lEeK0p4PkXjd-_Q" name="IsVisiblePropertySetter">
-      <generalization xmi:id="_01zB0O-lEeK0p4PkXjd-_Q" general="_fyVlIO3vEeKwLp35IbAIig"/>
-    </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_GKddUAkdEeOnVqX9VcfeWQ" name="LayerOperatorDescriptor">
-      <ownedAttribute xmi:id="_5xnb4AkdEeOnVqX9VcfeWQ" name="propertyOperators" type="_wk7C0AkdEeOnVqX9VcfeWQ" isOrdered="true" association="_5x5vwAkdEeOnVqX9VcfeWQ">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_5xnb4AkdEeOnVqX9VcfeWQ" name="propertyOperators" type="_wk7C0AkdEeOnVqX9VcfeWQ" isOrdered="true" association="_5x5vwAkdEeOnVqX9VcfeWQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5xnb4QkdEeOnVqX9VcfeWQ"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5xnb4gkdEeOnVqX9VcfeWQ" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_ysOUQAkiEeOnVqX9VcfeWQ" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ysOUQAkiEeOnVqX9VcfeWQ" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1AnYwAkiEeOnVqX9VcfeWQ" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1A5soAkiEeOnVqX9VcfeWQ" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_1B2u4AkiEeOnVqX9VcfeWQ">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedOperation xmi:id="_w5x7sAkhEeOnVqX9VcfeWQ" name="getPropertyOperator" raisedException="_k-dZENxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_C90I4AkiEeOnVqX9VcfeWQ" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_MNkdAAkiEeOnVqX9VcfeWQ" name="return" type="_wk7C0AkdEeOnVqX9VcfeWQ" direction="return"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_w5x7sAkhEeOnVqX9VcfeWQ" name="getPropertyOperator" raisedException="_k-dZENxGEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_C90I4AkiEeOnVqX9VcfeWQ" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_MNkdAAkiEeOnVqX9VcfeWQ" name="return" type="_wk7C0AkdEeOnVqX9VcfeWQ" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_TzuWEAkiEeOnVqX9VcfeWQ" name="setPropertyOperator">
-        <ownedParameter xmi:id="_boCm8AkiEeOnVqX9VcfeWQ" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_eeXT0AkiEeOnVqX9VcfeWQ" name="operator" type="_wk7C0AkdEeOnVqX9VcfeWQ"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_TzuWEAkiEeOnVqX9VcfeWQ" name="setPropertyOperator">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_boCm8AkiEeOnVqX9VcfeWQ" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_eeXT0AkiEeOnVqX9VcfeWQ" name="operator" type="_wk7C0AkdEeOnVqX9VcfeWQ"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_htp6UAkiEeOnVqX9VcfeWQ" name="createLayerOperator">
-        <ownedParameter xmi:id="_rwGPoAkiEeOnVqX9VcfeWQ" name="return" type="_WuVRUNjjEeKQqZMBCFd2Uw" direction="return"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_htp6UAkiEeOnVqX9VcfeWQ" name="createLayerOperator">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_rwGPoAkiEeOnVqX9VcfeWQ" name="return" type="_HoKjcNjjEeKQqZMBCFd2Uw" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_oj_4UAkoEeOnVqX9VcfeWQ" name="setPropertyCollectionSize">
-        <ownedComment xmi:id="_x-5FcAkoEeOnVqX9VcfeWQ">
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_oj_4UAkoEeOnVqX9VcfeWQ" name="setPropertyCollectionSize">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_x-5FcAkoEeOnVqX9VcfeWQ">
           <body>Set the size of the property collection declared in the PropertyRegistry.&#xD;
 Setting the size allow to set the size of the lists indexed with Properties' index (like propertyOperators).</body>
         </ownedComment>
-        <ownedParameter xmi:id="_wdouEAkoEeOnVqX9VcfeWQ" name="size" type="_SuHkkNa8EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_x2wVwAkrEeOnVqX9VcfeWQ" name="defaultPropertyOperator" type="_G-g6AAkpEeOnVqX9VcfeWQ"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_wdouEAkoEeOnVqX9VcfeWQ" name="size" type="_SuHkkNa8EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_x2wVwAkrEeOnVqX9VcfeWQ" name="defaultPropertyOperator" type="_wk7C0AkdEeOnVqX9VcfeWQ"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_KSvhUAkdEeOnVqX9VcfeWQ" name="abstractLayerOperator_layerOperatorDescriptor_1" memberEnd="_KSvhUQkdEeOnVqX9VcfeWQ _KSjUEAkdEeOnVqX9VcfeWQ">
-      <ownedEnd xmi:id="_KSvhUQkdEeOnVqX9VcfeWQ" name="abstractLayerOperator" type="_WuVRUNjjEeKQqZMBCFd2Uw" association="_KSvhUAkdEeOnVqX9VcfeWQ">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KSvhUgkdEeOnVqX9VcfeWQ" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KSvhUwkdEeOnVqX9VcfeWQ" value="1"/>
-      </ownedEnd>
-    </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_T5we4AkdEeOnVqX9VcfeWQ" name="LayerOperatorDescriptorRegistry">
-      <ownedAttribute xmi:id="_X8IIIAkdEeOnVqX9VcfeWQ" name="descriptors" type="_GKddUAkdEeOnVqX9VcfeWQ" aggregation="composite" association="_X8acAAkdEeOnVqX9VcfeWQ">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_X8IIIAkdEeOnVqX9VcfeWQ" name="descriptors" type="_GKddUAkdEeOnVqX9VcfeWQ" aggregation="composite" association="_X8acAAkdEeOnVqX9VcfeWQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_X8IIIQkdEeOnVqX9VcfeWQ"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_X8IIIgkdEeOnVqX9VcfeWQ" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_31bcAAkdEeOnVqX9VcfeWQ" name="propertyOperators" type="_wk7C0AkdEeOnVqX9VcfeWQ" isOrdered="true" aggregation="composite" association="_31lNAAkdEeOnVqX9VcfeWQ">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_31bcAAkdEeOnVqX9VcfeWQ" name="propertyOperators" type="_wk7C0AkdEeOnVqX9VcfeWQ" isOrdered="true" aggregation="composite" association="_31lNAAkdEeOnVqX9VcfeWQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_31bcAQkdEeOnVqX9VcfeWQ"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_31bcAgkdEeOnVqX9VcfeWQ" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_TfMTsAkmEeOnVqX9VcfeWQ" name="propertyCollectionSize" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
-        <ownedComment xmi:id="_Z8ZnsAkmEeOnVqX9VcfeWQ">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_TfMTsAkmEeOnVqX9VcfeWQ" name="propertyCollectionSize" visibility="public" type="_SuHkkNa8EeKPiuTfpuvqHA">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_Z8ZnsAkmEeOnVqX9VcfeWQ">
           <body>This represents the number of Properties that are declared in the PrpertyRegistry.&#xD;
 This number is used to initialized the collections indexed by Properties' index &#xD;
 (like LayerOperatorDescriptor::propertyOperators).&#xD;
@@ -1340,8 +1059,8 @@
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_rTr0UA2fEeOjX-JbGFEH7w" name="defaultOperator" visibility="public" type="_G-g6AAkpEeOnVqX9VcfeWQ" isReadOnly="true">
-        <ownedComment xmi:id="_xzwPEA2fEeOjX-JbGFEH7w">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rTr0UA2fEeOjX-JbGFEH7w" name="defaultOperator" visibility="public" type="_wk7C0AkdEeOnVqX9VcfeWQ" isReadOnly="true">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_xzwPEA2fEeOjX-JbGFEH7w">
           <body>The default Operator used when the propertiesListSize are set.</body>
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_usAbAA2fEeOjX-JbGFEH7w" value="1"/>
@@ -1350,207 +1069,170 @@
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedOperation xmi:id="_ZjkYUAkjEeOnVqX9VcfeWQ" name="addLayerOperatorDescriptor">
-        <ownedParameter xmi:id="_kc_Y8AkjEeOnVqX9VcfeWQ" name="descriptor" type="_GKddUAkdEeOnVqX9VcfeWQ"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_ZjkYUAkjEeOnVqX9VcfeWQ" name="addLayerOperatorDescriptor">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_kc_Y8AkjEeOnVqX9VcfeWQ" name="descriptor" type="_GKddUAkdEeOnVqX9VcfeWQ"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_sQbgEAkjEeOnVqX9VcfeWQ" name="getLayerOperatorDescriptor" raisedException="_k-dZENxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_sQbgEQkjEeOnVqX9VcfeWQ" name="descriptor" type="_GKddUAkdEeOnVqX9VcfeWQ" direction="return"/>
-        <ownedParameter xmi:id="_0hL1UAkjEeOnVqX9VcfeWQ" name="name" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_sQbgEAkjEeOnVqX9VcfeWQ" name="getLayerOperatorDescriptor" raisedException="_k-dZENxGEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_sQbgEQkjEeOnVqX9VcfeWQ" name="descriptor" type="_GKddUAkdEeOnVqX9VcfeWQ" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_0hL1UAkjEeOnVqX9VcfeWQ" name="name" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_6Ui7EAkjEeOnVqX9VcfeWQ" name="addPropertyOperator">
-        <ownedParameter xmi:id="__1tdkAkjEeOnVqX9VcfeWQ" name="operator" type="_wk7C0AkdEeOnVqX9VcfeWQ"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_6Ui7EAkjEeOnVqX9VcfeWQ" name="addPropertyOperator">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="__1tdkAkjEeOnVqX9VcfeWQ" name="operator" type="_wk7C0AkdEeOnVqX9VcfeWQ"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_HQzWIAkkEeOnVqX9VcfeWQ" name="getPropertyOperator" raisedException="_k-dZENxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_HQzWIQkkEeOnVqX9VcfeWQ" name="operator" type="_wk7C0AkdEeOnVqX9VcfeWQ" direction="return"/>
-        <ownedParameter xmi:id="_M6KLUAkkEeOnVqX9VcfeWQ" name="name" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_HQzWIAkkEeOnVqX9VcfeWQ" name="getPropertyOperator" raisedException="_k-dZENxGEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_HQzWIQkkEeOnVqX9VcfeWQ" name="operator" type="_wk7C0AkdEeOnVqX9VcfeWQ" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_M6KLUAkkEeOnVqX9VcfeWQ" name="name" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_U3cyAAkkEeOnVqX9VcfeWQ" name="attachOperatorToDescriptor" raisedException="_k-dZENxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_v9TU8A0JEeOjX-JbGFEH7w" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
-        <ownedParameter xmi:id="_csy9oAkkEeOnVqX9VcfeWQ" name="operatorName" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
-        <ownedParameter xmi:id="_hIyn0AkkEeOnVqX9VcfeWQ" name="layerDescriptorName" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_U3cyAAkkEeOnVqX9VcfeWQ" name="attachOperatorToDescriptor" raisedException="_k-dZENxGEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_v9TU8A0JEeOjX-JbGFEH7w" name="property" type="_-vaacNa7EeKPiuTfpuvqHA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_csy9oAkkEeOnVqX9VcfeWQ" name="operatorName" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_hIyn0AkkEeOnVqX9VcfeWQ" name="layerDescriptorName" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_p1keQBKGEeO9e9pZ1EIGJg" name="createLayerOperator" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedParameter xmi:id="_p1keQRKGEeO9e9pZ1EIGJg" name="return" type="_WuVRUNjjEeKQqZMBCFd2Uw" direction="return"/>
-        <ownedParameter xmi:id="_vtq6EBKGEeO9e9pZ1EIGJg" name="layerOperatorID" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_p1keQBKGEeO9e9pZ1EIGJg" name="createLayerOperator" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_p1keQRKGEeO9e9pZ1EIGJg" name="return" type="_HoKjcNjjEeKQqZMBCFd2Uw" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_vtq6EBKGEeO9e9pZ1EIGJg" name="layerOperatorID" type="_OyQ5QL1xEeKKJJ5BmR3W3Q"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_X8acAAkdEeOnVqX9VcfeWQ" name="layerOperatorDescriptorRegistry_layerOperatorDescriptor_1" memberEnd="_X8acAQkdEeOnVqX9VcfeWQ _X8IIIAkdEeOnVqX9VcfeWQ">
-      <ownedEnd xmi:id="_X8acAQkdEeOnVqX9VcfeWQ" name="layerOperatorDescriptorRegistry" type="_T5we4AkdEeOnVqX9VcfeWQ" association="_X8acAAkdEeOnVqX9VcfeWQ">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_X8acAQkdEeOnVqX9VcfeWQ" name="layerOperatorDescriptorRegistry" type="_T5we4AkdEeOnVqX9VcfeWQ" association="_X8acAAkdEeOnVqX9VcfeWQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_X8acAgkdEeOnVqX9VcfeWQ" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_X8acAwkdEeOnVqX9VcfeWQ" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_wk7C0AkdEeOnVqX9VcfeWQ" name="PropertyOperator">
-      <ownedAttribute xmi:id="_8J3zEAklEeOnVqX9VcfeWQ" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_8J3zEAklEeOnVqX9VcfeWQ" name="name" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_8J3zEQklEeOnVqX9VcfeWQ" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8J3zEgklEeOnVqX9VcfeWQ" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_8J3zEwklEeOnVqX9VcfeWQ">
           <value xsi:nil="true"/>
         </defaultValue>
       </ownedAttribute>
-      <ownedOperation xmi:id="_WKdZYAkhEeOnVqX9VcfeWQ" name="getComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_WKdZYQkhEeOnVqX9VcfeWQ">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_MI1TILy5EeiViahAib_JMw" name="classname" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+        <defaultValue xmi:type="uml:LiteralString" xmi:id="_Qr6cwLy5EeiViahAib_JMw"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_SdHUoLy5EeiViahAib_JMw" name="operatorInstance" type="_wk7C0AkdEeOnVqX9VcfeWQ">
+        <defaultValue xmi:type="uml:LiteralString" xmi:id="_28D98Ly5EeiViahAib_JMw"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_5VRRALy5EeiViahAib_JMw" name="classBundleID" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+        <defaultValue xmi:type="uml:LiteralString" xmi:id="_81X6sLy5EeiViahAib_JMw"/>
+      </ownedAttribute>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_WKdZYAkhEeOnVqX9VcfeWQ" name="getComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_WKdZYQkhEeOnVqX9VcfeWQ">
           <body>Get the ComputePropertyValueCommands for the specified views and Property.&#xD;
 @return A list of Command allowing to get the value of the property for each view. The list contains null if no command is available for a View.</body>
         </ownedComment>
-        <ownedParameter xmi:id="_WKdZYwkhEeOnVqX9VcfeWQ" name="property" type="_Qeyn4O7GEeK0p4PkXjd-_Q" isOrdered="true">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_WKdZYwkhEeOnVqX9VcfeWQ" name="property" type="_Qeyn4O7GEeK0p4PkXjd-_Q" isOrdered="true">
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lkDZkAkhEeOnVqX9VcfeWQ"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lkVtcAkhEeOnVqX9VcfeWQ" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_WKdZZAkhEeOnVqX9VcfeWQ" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" direction="return"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_WKdZZAkhEeOnVqX9VcfeWQ" name="result" type="_Qeyn4O7GEeK0p4PkXjd-_Q" direction="return"/>
       </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_-H7uwLy5EeiViahAib_JMw" name="resetOperatorInstance" raisedException="_iYKFMNxGEeKwptaAAanMDg"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_31lNAAkdEeOnVqX9VcfeWQ" name="layerOperatorDescriptorRegistry_propertyOperator_1" memberEnd="_31lNAQkdEeOnVqX9VcfeWQ _31bcAAkdEeOnVqX9VcfeWQ">
-      <ownedEnd xmi:id="_31lNAQkdEeOnVqX9VcfeWQ" name="layerOperatorDescriptorRegistry" type="_T5we4AkdEeOnVqX9VcfeWQ" association="_31lNAAkdEeOnVqX9VcfeWQ">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_31lNAQkdEeOnVqX9VcfeWQ" name="layerOperatorDescriptorRegistry" type="_T5we4AkdEeOnVqX9VcfeWQ" association="_31lNAAkdEeOnVqX9VcfeWQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_31lNAgkdEeOnVqX9VcfeWQ" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_31lNAwkdEeOnVqX9VcfeWQ" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_5x5vwAkdEeOnVqX9VcfeWQ" name="layerOperatorDescriptor_propertyOperator_1" memberEnd="_5x5vwQkdEeOnVqX9VcfeWQ _5xnb4AkdEeOnVqX9VcfeWQ">
-      <ownedEnd xmi:id="_5x5vwQkdEeOnVqX9VcfeWQ" name="layerOperatorDescriptor" type="_GKddUAkdEeOnVqX9VcfeWQ" association="_5x5vwAkdEeOnVqX9VcfeWQ">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_5x5vwQkdEeOnVqX9VcfeWQ" name="layerOperatorDescriptor" type="_GKddUAkdEeOnVqX9VcfeWQ" association="_5x5vwAkdEeOnVqX9VcfeWQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5x5vwgkdEeOnVqX9VcfeWQ" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5x5vwwkdEeOnVqX9VcfeWQ" value="1"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_G-g6AAkpEeOnVqX9VcfeWQ" name="DefaultPropertyOperator">
-      <ownedComment xmi:id="_MkVTAAkpEeOnVqX9VcfeWQ">
-        <body>This DefaultPropertyOperator works for any Property.&#xD;
-It returns the first value of the provided list.</body>
-      </ownedComment>
-      <generalization xmi:id="_LAjzIAkpEeOnVqX9VcfeWQ" general="_wk7C0AkdEeOnVqX9VcfeWQ"/>
-    </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_ELKvAAkxEeOnVqX9VcfeWQ" name="TopLayerOperatorDescriptor">
-      <generalization xmi:id="_ON-3wAkxEeOnVqX9VcfeWQ" general="_GKddUAkdEeOnVqX9VcfeWQ"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_ON-3wAkxEeOnVqX9VcfeWQ" general="_GKddUAkdEeOnVqX9VcfeWQ"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_Hxsw0AkxEeOnVqX9VcfeWQ" name="StackedLayerOperatorDescriptor">
-      <generalization xmi:id="_PQ9-wAkxEeOnVqX9VcfeWQ" general="_GKddUAkdEeOnVqX9VcfeWQ"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_mt6gYAnsEeOnVqX9VcfeWQ" name="CustomPropertyOperator">
-      <generalization xmi:id="_SfZjMAntEeOnVqX9VcfeWQ" general="_wk7C0AkdEeOnVqX9VcfeWQ"/>
-      <ownedAttribute xmi:id="_yEySAAnsEeOnVqX9VcfeWQ" name="classname" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_yEySAQnsEeOnVqX9VcfeWQ" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yEySAgnsEeOnVqX9VcfeWQ" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_yEySAwnsEeOnVqX9VcfeWQ">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_XTdvIAntEeOnVqX9VcfeWQ" name="operatorInstance" visibility="public" type="__ADTwAxLEeOjX-JbGFEH7w">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cqOYcAntEeOnVqX9VcfeWQ" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cqgsUAntEeOnVqX9VcfeWQ" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_crLasAntEeOnVqX9VcfeWQ">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_XwmlsA3gEeOjX-JbGFEH7w" name="classBundleID" visibility="public" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
-        <ownedComment xmi:id="_c4HSEA3gEeOjX-JbGFEH7w">
-          <body>Bundle ID of the class specified by classname.&#xD;
-This is generally the id of the plugin containing the class specified by classname.&#xD;
-This is required when the custom operator is defined by its classname, and the operator is not located in the current &#xD;
-plugin (ie the layer model plugin).&#xD;
-</body>
-        </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XwnMwA3gEeOjX-JbGFEH7w" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XwnMwQ3gEeOjX-JbGFEH7w" value="1"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_XwnMwg3gEeOjX-JbGFEH7w">
-          <value xsi:nil="true"/>
-        </defaultValue>
-      </ownedAttribute>
-      <ownedOperation xmi:id="_vbiJ8A3gEeOjX-JbGFEH7w" name="resetOperatorInstance" raisedException="_iYKFMNxGEeKwptaAAanMDg">
-        <ownedComment xmi:id="_y6QTkA3gEeOjX-JbGFEH7w">
-          <body>Set the operator instance from the classname and BundleID if and only if this two properties are set.</body>
-        </ownedComment>
-      </ownedOperation>
+      <generalization xmi:type="uml:Generalization" xmi:id="_PQ9-wAkxEeOnVqX9VcfeWQ" general="_GKddUAkdEeOnVqX9VcfeWQ"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_FDpEUAxAEeOjX-JbGFEH7w" name="layersStackApplication_layerOperatorDescriptorRegistry_1" memberEnd="_FDpEUQxAEeOjX-JbGFEH7w _FDc3EAxAEeOjX-JbGFEH7w">
-      <ownedEnd xmi:id="_FDpEUQxAEeOjX-JbGFEH7w" name="layersStackApplication" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_FDpEUAxAEeOjX-JbGFEH7w">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_FDpEUQxAEeOjX-JbGFEH7w" name="layersStackApplication" type="_DN8s0NjhEeKQqZMBCFd2Uw" association="_FDpEUAxAEeOjX-JbGFEH7w">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FDpEUgxAEeOjX-JbGFEH7w" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FDpEUwxAEeOjX-JbGFEH7w" value="1"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_G7XE0AxJEeOjX-JbGFEH7w" name="AndStackedLayerOperatorDescriptor">
-      <generalization xmi:id="_Uq4v4AxJEeOjX-JbGFEH7w" general="_Hxsw0AkxEeOnVqX9VcfeWQ"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_LUfBMAxJEeOjX-JbGFEH7w" name="OrStackedLayerOperatorDescriptor">
-      <generalization xmi:id="_TzDwAAxJEeOjX-JbGFEH7w" general="_Hxsw0AkxEeOnVqX9VcfeWQ"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="__ADTwAxLEeOjX-JbGFEH7w" name="CustomPropertyOpertorInstance"/>
-    <packagedElement xmi:type="uml:Class" xmi:id="_Xxh1cBZ1EeOZwp016gnCFQ" name="IsAbstractUmlSetter">
-      <generalization xmi:id="_a8mqUBZ1EeOZwp016gnCFQ" general="_fyVlIO3vEeKwLp35IbAIig"/>
-    </packagedElement>
     <packagedElement xmi:type="uml:Enumeration" xmi:id="_7cWpgFVHEeOah7Z-UYdQAA" name="EventLevel">
-      <ownedLiteral xmi:id="_ItnrQFVIEeOah7Z-UYdQAA" name="level1"/>
-      <ownedLiteral xmi:id="__fkAQFVHEeOah7Z-UYdQAA" name="allLevels">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_ItnrQFVIEeOah7Z-UYdQAA" name="level1"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="__fkAQFVHEeOah7Z-UYdQAA" name="allLevels">
         <specification xmi:type="uml:LiteralInteger" xmi:id="_gy8lIFVLEeOah7Z-UYdQAA" name="intValue" value="-1"/>
       </ownedLiteral>
     </packagedElement>
     <packagedElement xmi:type="uml:Association" xmi:id="_PznBc2Q5EeOlpfB_tZS-QA" name="layerExpression_layersStack_1" memberEnd="_PznBdGQ5EeOlpfB_tZS-QA _PznBcGQ5EeOlpfB_tZS-QA">
-      <ownedComment xmi:id="_KyI2MGQ6EeOlpfB_tZS-QA" annotatedElement="_PznBc2Q5EeOlpfB_tZS-QA">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_KyI2MGQ6EeOlpfB_tZS-QA" annotatedElement="_PznBc2Q5EeOlpfB_tZS-QA">
         <body>The LayerStack owning this LayerExpression.&#xD;
 This property is set by the LayerStack when the LayerExpression is attach to a parent.&#xD;
 The LayerStack listen to node addition/removal.&#xD;
 During the load from the Resource, this property is set by the LayerStack calling &#xD;
 layerStackChanged().</body>
       </ownedComment>
-      <ownedEnd xmi:id="_PznBdGQ5EeOlpfB_tZS-QA" name="layerExpression" type="_9IaAANjiEeKQqZMBCFd2Uw" association="_PznBc2Q5EeOlpfB_tZS-QA">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_PznBdGQ5EeOlpfB_tZS-QA" name="layerExpression" type="_9IaAANjiEeKQqZMBCFd2Uw" association="_PznBc2Q5EeOlpfB_tZS-QA">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PznBdWQ5EeOlpfB_tZS-QA" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PznBdmQ5EeOlpfB_tZS-QA" value="1"/>
       </ownedEnd>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_ft-hUGtpEeOlpfB_tZS-QA" name="AllViewsDerivedLayer">
-      <generalization xmi:id="_p-dSoGtpEeOlpfB_tZS-QA" general="_51zAINa7EeKPiuTfpuvqHA"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_p-dSoGtpEeOlpfB_tZS-QA" general="_51zAINa7EeKPiuTfpuvqHA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Enumeration" xmi:id="_8__xgHltEeOlpfB_tZS-QA" name="LayerState">
-      <ownedLiteral xmi:id="_AKMcoHluEeOlpfB_tZS-QA" name="detached"/>
-      <ownedLiteral xmi:id="_BUS4QHluEeOlpfB_tZS-QA" name="attached"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_AKMcoHluEeOlpfB_tZS-QA" name="detached"/>
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_BUS4QHluEeOlpfB_tZS-QA" name="attached"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Interface" xmi:id="_RopgYHpGEeOlpfB_tZS-QA" name="LayersContainer">
-      <ownedComment xmi:id="_igIa4HpGEeOlpfB_tZS-QA" annotatedElement="_RopgYHpGEeOlpfB_tZS-QA">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_igIa4HpGEeOlpfB_tZS-QA" annotatedElement="_RopgYHpGEeOlpfB_tZS-QA">
         <body>Layers implementing this interface can contains others layers.&#xD;
 The interface provide one method allowing to add a LayerExpression to the container.</body>
       </ownedComment>
-      <ownedOperation xmi:id="_jHtYQHpGEeOlpfB_tZS-QA" name="addLayer">
-        <ownedParameter xmi:id="_qpEQ4HpGEeOlpfB_tZS-QA" name="layer" type="_9IaAANjiEeKQqZMBCFd2Uw"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_jHtYQHpGEeOlpfB_tZS-QA" name="addLayer">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qpEQ4HpGEeOlpfB_tZS-QA" name="layer" type="_9IaAANjiEeKQqZMBCFd2Uw"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_DEE3EM-FEeep-sEmK3jrig" name="CSSPropertySetter">
-      <generalization xmi:id="_FFptQM-FEeep-sEmK3jrig" general="_fyVlIO3vEeKwLp35IbAIig"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_FFptQM-FEeep-sEmK3jrig" general="_fyVlIO3vEeKwLp35IbAIig"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_JqnGMM-FEeep-sEmK3jrig" name="CSSType">
-      <generalization xmi:id="_Lq474M-FEeep-sEmK3jrig" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_Lq474M-FEeep-sEmK3jrig" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_dxmCkM-FEeep-sEmK3jrig" name="CSSInstance">
-      <generalization xmi:id="_iC0nMM-FEeep-sEmK3jrig" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
-      <ownedAttribute xmi:id="_jnqeEM-FEeep-sEmK3jrig" name="stylesheet" aggregation="composite">
+      <generalization xmi:type="uml:Generalization" xmi:id="_iC0nMM-FEeep-sEmK3jrig" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_jnqeEM-FEeep-sEmK3jrig" name="stylesheet" aggregation="composite">
         <type xmi:type="uml:Interface" href="pathmap://STYLESHEETS/StyleSheets.uml#_SV34ANBHEeeeIb5NcUL5SQ"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_cvND8Nm2Eeev9v2e6pD5eA" name="style" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_cvND8Nm2Eeev9v2e6pD5eA" name="style" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wfCroNm2Eeev9v2e6pD5eA"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wfO44Nm2Eeev9v2e6pD5eA" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_4YbCsNm2Eeev9v2e6pD5eA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_0OlN0HVZEeipp8d5W3Vl9g" name="CSSHidePropertySetter">
-      <generalization xmi:id="_0OlN0XVZEeipp8d5W3Vl9g" general="_fyVlIO3vEeKwLp35IbAIig"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_0OlN0XVZEeipp8d5W3Vl9g" general="_fyVlIO3vEeKwLp35IbAIig"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_0Omb8HVZEeipp8d5W3Vl9g" name="CSSHideType">
-      <generalization xmi:id="_0Omb8XVZEeipp8d5W3Vl9g" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_0Omb8XVZEeipp8d5W3Vl9g" general="_EoL3oNhcEeKgkM6XJF9t4A"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_0Omb8nVZEeipp8d5W3Vl9g" name="CSSHideInstance">
-      <generalization xmi:id="_0Omb83VZEeipp8d5W3Vl9g" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
-      <ownedAttribute xmi:id="_0Omb9HVZEeipp8d5W3Vl9g" name="stylesheet" aggregation="composite">
+      <generalization xmi:type="uml:Generalization" xmi:id="_0Omb83VZEeipp8d5W3Vl9g" general="_AjTZ8Na8EeKPiuTfpuvqHA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_0Omb9HVZEeipp8d5W3Vl9g" name="stylesheet" aggregation="composite">
         <type xmi:type="uml:Interface" href="pathmap://STYLESHEETS/StyleSheets.uml#_SV34ANBHEeeeIb5NcUL5SQ"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_0Omb9XVZEeipp8d5W3Vl9g" name="style" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_0Omb9XVZEeipp8d5W3Vl9g" name="style" type="_OyQ5QL1xEeKKJJ5BmR3W3Q">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0Omb9nVZEeipp8d5W3Vl9g"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0Omb93VZEeipp8d5W3Vl9g" value="1"/>
         <defaultValue xmi:type="uml:LiteralString" xmi:id="_0Omb-HVZEeipp8d5W3Vl9g"/>
       </ownedAttribute>
     </packagedElement>
-    <profileApplication xmi:id="_X07z8LcsEeK8_t7Rpq6ZJA">
-      <eAnnotations xmi:id="_X2lZwLcsEeK8_t7Rpq6ZJA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <packagedElement xmi:type="uml:Association" xmi:id="_gF7JwLUQEeiPJeGnZrmqWw" memberEnd="_gF7Jw7UQEeiPJeGnZrmqWw _gF7w0rUQEeiPJeGnZrmqWw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gF7JwbUQEeiPJeGnZrmqWw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_gF7JwrUQEeiPJeGnZrmqWw" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_gF7w0rUQEeiPJeGnZrmqWw" name="layeroperator" type="_HoKjcNjjEeKQqZMBCFd2Uw" association="_gF7JwLUQEeiPJeGnZrmqWw"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_X07z8LcsEeK8_t7Rpq6ZJA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X2lZwLcsEeK8_t7Rpq6ZJA" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
     </profileApplication>
   </uml:Model>
   <Ecore:EPackage xmi:id="_ZYU5ULcsEeK8_t7Rpq6ZJA" base_Package="_gAOFQLcqEeK8_t7Rpq6ZJA" packageName="layers" nsPrefix="layers" nsURI="http://www.eclipse.org/papyrus/infra/gmfdiag/layers" basePackage="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model" prefix="Layers"/>
@@ -1581,10 +1263,8 @@
   <Ecore:EReference xmi:id="_dF0wYAkeEeOnVqX9VcfeWQ" isTransient="true" base_Property="_5xnb4AkdEeOnVqX9VcfeWQ"/>
   <Ecore:EReference xmi:id="_hXqZAAkeEeOnVqX9VcfeWQ" isTransient="true" base_Property="_31bcAAkdEeOnVqX9VcfeWQ"/>
   <Ecore:EReference xmi:id="_hIIUsAw-EeOjX-JbGFEH7w" isTransient="true" base_Property="_X8IIIAkdEeOnVqX9VcfeWQ"/>
-  <Ecore:EReference xmi:id="_0vze4Aw-EeOjX-JbGFEH7w" isTransient="true" base_Property="_KSjUEAkdEeOnVqX9VcfeWQ"/>
   <Ecore:EReference xmi:id="_i_yH8AxAEeOjX-JbGFEH7w" isTransient="true" base_Property="_FDc3EAxAEeOjX-JbGFEH7w"/>
   <Ecore:EAttribute xmi:id="_B49pUAxGEeOjX-JbGFEH7w" isTransient="true" base_Property="_mCUIAAxEEeOjX-JbGFEH7w"/>
-  <Ecore:EDataType xmi:id="_Fya_cAxMEeOjX-JbGFEH7w" instanceClassName="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance" base_PrimitiveType="__ADTwAxLEeOjX-JbGFEH7w"/>
   <Ecore:EReference xmi:id="_1yMvsA2hEeOjX-JbGFEH7w" isTransient="true" base_Property="_rTr0UA2fEeOjX-JbGFEH7w"/>
   <Ecore:EAttribute xmi:id="_iczSMA2qEeOjX-JbGFEH7w" isTransient="true" base_Property="_RrX8YA2qEeOjX-JbGFEH7w"/>
   <Ecore:EAttribute xmi:id="_8zffIGQ7EeOlpfB_tZS-QA" isTransient="true" base_Property="_xcbgQGQ7EeOlpfB_tZS-QA"/>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layersconfig.genmodel b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layersconfig.genmodel
index ca9e381..953ecc1 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layersconfig.genmodel
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/layersconfig.genmodel
@@ -6,7 +6,7 @@
     editorDirectory="/org.eclipse.papyrus.infra.gmfdiag.layers.model.editor/src-gen"
     modelPluginID="org.eclipse.papyrus.infra.gmfdiag.layers.model" modelName="LayersConfig"
     editorPluginClass="org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.presentation.LayersconfigEditorPlugin"
-    nonNLSMarkers="true" testsDirectory="/org.eclipse.papyrus.infra.gmfdiag.layers.model.tests/src-gen"
+    nonNLSMarkers="true" suppressEMFTypes="true" testsDirectory="/org.eclipse.papyrus.infra.gmfdiag.layers.model.tests/src-gen"
     testSuiteClass="org.eclipse.papyrus.infra.gmfdiag.layers.configmodel.layersconfig.tests.LayersconfigAllTests"
     importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="6.0" copyrightFields="false"
     editorPluginID="org.eclipse.papyrus.infra.gmfdiag.layers.model.editor" operationReflection="true"
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/notation/README b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/notation/README
index a28a569..62bbd9c 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/notation/README
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/notation/README
@@ -1,3 +1,2 @@
-the genmodel is missing???
-should not be here!!!
+This is used to define the notation View and Diagram required by the layer model...
 *must not be exposed to the user
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/notation/notation.di b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/notation/notation.di
index a274d05..bf9abab 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/notation/notation.di
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/model/notation/notation.di
@@ -1,17 +1,2 @@
-<?xml version="1.0" encoding="ASCII"?>
-<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
-  <pageList>
-    <availablePage>
-      <emfPageIdentifier href="notation.notation#_WlS4YLcpEeK8_t7Rpq6ZJA"/>
-    </availablePage>
-  </pageList>
-  <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
-    <windows>
-      <children xsi:type="di:TabFolder">
-        <children>
-          <emfPageIdentifier href="notation.notation#_WlS4YLcpEeK8_t7Rpq6ZJA"/>
-        </children>
-      </children>
-    </windows>
-  </sashModel>
-</di:SashWindowsMngr>
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/plugin.xml b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/plugin.xml
index 67350c6..4ccb6cc 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/plugin.xml
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/plugin.xml
@@ -22,5 +22,26 @@
             class="org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage"
             genModel="model/layersconfig.genmodel"/>
    </extension>
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom.CustomLayersFactory"
+            uri="http://www.eclipse.org/papyrus/infra/gmfdiag/layers">
+      </factory>
+   </extension>
+   <extension
+         point="org.eclipse.emf.ecore.factory_override">
+      <factory
+            class="org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.custom.CustomLayersConfigFactory"
+            uri="http://www.eclipse.org/papyrus/infra/gmfdiag/layersconfig">
+      </factory>
+   </extension>
+   <extension
+         point="org.eclipse.emf.ecore.extension_parser">
+      <parser
+            class="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.resource.LayersModelResourceFactory"
+            type="layers">
+      </parser>
+   </extension>
 
 </plugin>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/ClassnameKind.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/ClassnameKind.java
index b1387fc..8df7d4b 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/ClassnameKind.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/ClassnameKind.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
 
@@ -36,7 +37,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	UNDEFINED(0, "UNDEFINED", "UNDEFINED"),
+	UNDEFINED(0, "UNDEFINED", "UNDEFINED"), //$NON-NLS-1$ //$NON-NLS-2$
 
 	/**
 	 * The '<em><b>EMF CLASSNAME</b></em>' literal object.
@@ -46,7 +47,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	EMF_CLASSNAME(1, "EMF_CLASSNAME", "EMF_CLASSNAME"),
+	EMF_CLASSNAME(1, "EMF_CLASSNAME", "EMF_CLASSNAME"), //$NON-NLS-1$ //$NON-NLS-2$
 
 	/**
 	 * The '<em><b>POJO CLASSNAME</b></em>' literal object.
@@ -56,7 +57,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	POJO_CLASSNAME(2, "POJO_CLASSNAME", "POJO_CLASSNAME"),
+	POJO_CLASSNAME(2, "POJO_CLASSNAME", "POJO_CLASSNAME"), //$NON-NLS-1$ //$NON-NLS-2$
 
 	/**
 	 * The '<em><b>NOT FOUND</b></em>' literal object.
@@ -66,13 +67,14 @@
 	 * @generated
 	 * @ordered
 	 */
-	NOT_FOUND(3, "NOT_FOUND", "NOT_FOUND");
+	NOT_FOUND(3, "NOT_FOUND", "NOT_FOUND"); //$NON-NLS-1$ //$NON-NLS-2$
 
 	/**
 	 * The '<em><b>UNDEFINED</b></em>' literal value.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of '<em><b>UNDEFINED</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * If the meaning of '<em><b>UNDEFINED</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @see #UNDEFINED
@@ -86,7 +88,8 @@
 	 * The '<em><b>EMF CLASSNAME</b></em>' literal value.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of '<em><b>EMF CLASSNAME</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * If the meaning of '<em><b>EMF CLASSNAME</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @see #EMF_CLASSNAME
@@ -100,7 +103,8 @@
 	 * The '<em><b>POJO CLASSNAME</b></em>' literal value.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of '<em><b>POJO CLASSNAME</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * If the meaning of '<em><b>POJO CLASSNAME</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @see #POJO_CLASSNAME
@@ -114,7 +118,8 @@
 	 * The '<em><b>NOT FOUND</b></em>' literal value.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of '<em><b>NOT FOUND</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * If the meaning of '<em><b>NOT FOUND</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @see #NOT_FOUND
@@ -130,7 +135,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private static final ClassnameKind[] VALUES_ARRAY = new ClassnameKind[] {
+	private static final ClassnameKind[] VALUES_ARRAY =
+		new ClassnameKind[] {
 			UNDEFINED,
 			EMF_CLASSNAME,
 			POJO_CLASSNAME,
@@ -237,7 +243,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public int getValue() {
 	  return value;
 	}
@@ -247,7 +252,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getName() {
 	  return name;
 	}
@@ -257,7 +261,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getLiteral() {
 	  return literal;
 	}
@@ -272,5 +275,5 @@
 	public String toString() {
 		return literal;
 	}
-
-} // ClassnameKind
+	
+} //ClassnameKind
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/Folder.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/Folder.java
index 8cafd87..ceb2d78 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/Folder.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/Folder.java
@@ -1,21 +1,19 @@
-/*****************************************************************************
+/**
  * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- *
- *    
+ * 
  * 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:
- *  Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *  Quentin Le Menez quentin.lemenez@cea.fr
- *****************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 /**
  * <!-- begin-user-doc -->
@@ -39,7 +37,8 @@
 	 * The list contents are of type {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.FolderElement}.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Folder Elements</em>' containment reference list isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Folder Elements</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Folder Elements</em>' containment reference list.
@@ -47,6 +46,6 @@
 	 * @model containment="true" ordered="false"
 	 * @generated
 	 */
-	EList<FolderElement> getFolderElements();
+	List<FolderElement> getFolderElements();
 
 } // Folder
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/FolderElement.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/FolderElement.java
index ad4fdca..9eed628 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/FolderElement.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/FolderElement.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
 
@@ -35,7 +36,8 @@
 	 * Returns the value of the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Name</em>' attribute.
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/InstanciableElement.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/InstanciableElement.java
index 9071c32..60fc0ac 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/InstanciableElement.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/InstanciableElement.java
@@ -1,19 +1,19 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
 
 
-
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Instanciable Element</b></em>'.
@@ -39,7 +39,8 @@
 	 * Returns the value of the '<em><b>Classname</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Classname</em>' attribute isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Classname</em>' attribute isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Classname</em>' attribute.
@@ -64,7 +65,8 @@
 	 * Returns the value of the '<em><b>Bundle ID</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Bundle ID</em>' attribute isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Bundle ID</em>' attribute isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Bundle ID</em>' attribute.
@@ -89,7 +91,8 @@
 	 * Returns the value of the '<em><b>Display Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Display Name</em>' attribute isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Display Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Display Name</em>' attribute.
@@ -114,7 +117,8 @@
 	 * Returns the value of the '<em><b>Icon Path</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Icon Path</em>' attribute isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Icon Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Icon Path</em>' attribute.
@@ -141,7 +145,8 @@
 	 * The literals are from the enumeration {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.ClassnameKind}.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Classname Kind</em>' attribute isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Classname Kind</em>' attribute isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Classname Kind</em>' attribute.
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorConfig.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorConfig.java
index 9771a5b..e7be28a 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorConfig.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorConfig.java
@@ -1,20 +1,21 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
 
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.InstanciationException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
 
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
 
 /**
  * <!-- begin-user-doc -->
@@ -27,7 +28,6 @@
  * @generated
  */
 public interface LayerOperatorConfig extends InstanciableElement {
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -35,4 +35,5 @@
 	 * @generated
 	 */
 	LayerOperatorDescriptor createLayersOperatorDescriptor() throws InstanciationException;
+
 } // LayerOperatorConfig
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorMultipleBinding.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorMultipleBinding.java
index 1507e45..f1339ab 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorMultipleBinding.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorMultipleBinding.java
@@ -1,18 +1,19 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 /**
  * <!-- begin-user-doc -->
@@ -36,7 +37,8 @@
 	 * Returns the value of the '<em><b>Layer Operator Config</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Layer Operator Config</em>' reference isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Layer Operator Config</em>' reference isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Layer Operator Config</em>' reference.
@@ -63,7 +65,8 @@
 	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.OperatorBinding#getOwner <em>Owner</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Bindings</em>' containment reference list isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Bindings</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Bindings</em>' containment reference list.
@@ -72,6 +75,6 @@
 	 * @model opposite="owner" containment="true" ordered="false"
 	 * @generated
 	 */
-	EList<OperatorBinding> getBindings();
+	List<OperatorBinding> getBindings();
 
 } // LayerOperatorMultipleBinding
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorToOperatorBinding.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorToOperatorBinding.java
deleted file mode 100755
index 46e4bbc..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayerOperatorToOperatorBinding.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Layer Operator To Operator Binding</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorToOperatorBinding#getOperators <em>Operators</em>}</li>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorToOperatorBinding#getLayerOperator <em>Layer Operator</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersconfigPackage#getLayerOperatorToOperatorBinding()
- * @model
- * @generated
- */
-public interface LayerOperatorToOperatorBinding extends FolderElement, LayersOperatorBinding {
-	/**
-	 * Returns the value of the '<em><b>Operators</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Operators</em>' reference list isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Operators</em>' reference.
-	 * @see #setOperators(OperatorConfig)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersconfigPackage#getLayerOperatorToOperatorBinding_Operators()
-	 * @model required="true" ordered="false"
-	 * @generated
-	 */
-	OperatorConfig getOperators();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorToOperatorBinding#getOperators <em>Operators</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Operators</em>' reference.
-	 * @see #getOperators()
-	 * @generated
-	 */
-	void setOperators(OperatorConfig value);
-
-	/**
-	 * Returns the value of the '<em><b>Layer Operator</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Layer Operator</em>' reference isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Layer Operator</em>' reference.
-	 * @see #setLayerOperator(LayerOperatorConfig)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersconfigPackage#getLayerOperatorToOperatorBinding_LayerOperator()
-	 * @model ordered="false"
-	 * @generated
-	 */
-	LayerOperatorConfig getLayerOperator();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorToOperatorBinding#getLayerOperator <em>Layer Operator</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Layer Operator</em>' reference.
-	 * @see #getLayerOperator()
-	 * @generated
-	 */
-	void setLayerOperator(LayerOperatorConfig value);
-
-} // LayerOperatorToOperatorBinding
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayersOperatorBinding.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayersOperatorBinding.java
deleted file mode 100755
index 5df75aa..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/LayersOperatorBinding.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Layers Operator Binding</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersconfigPackage#getLayersOperatorBinding()
- * @model interface="true" abstract="true"
- * @generated
- */
-public interface LayersOperatorBinding extends EObject {
-} // LayersOperatorBinding
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/OperatorBinding.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/OperatorBinding.java
index 9de113b..4bd31fd 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/OperatorBinding.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/OperatorBinding.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
 
@@ -38,7 +39,8 @@
 	 * Returns the value of the '<em><b>Operator</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Operator</em>' reference isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Operator</em>' reference isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Operator</em>' reference.
@@ -63,7 +65,8 @@
 	 * Returns the value of the '<em><b>Layer Operator Config</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Layer Operator Config</em>' reference isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Layer Operator Config</em>' reference isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Layer Operator Config</em>' reference.
@@ -77,7 +80,8 @@
 	 * Returns the value of the '<em><b>Property Id</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Property Id</em>' reference isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Property Id</em>' reference isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Property Id</em>' reference.
@@ -103,7 +107,8 @@
 	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorMultipleBinding#getBindings <em>Bindings</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Owner</em>' container reference isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Owner</em>' container reference isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Owner</em>' container reference.
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/OperatorConfig.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/OperatorConfig.java
index 34ca835..e4454f5 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/OperatorConfig.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/OperatorConfig.java
@@ -1,20 +1,21 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
 
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.InstanciationException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
 
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
 
 /**
  * <!-- begin-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/PropertyId.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/PropertyId.java
index 90eb760..7fa39bf 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/PropertyId.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/PropertyId.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
 
@@ -30,12 +31,12 @@
  * @generated
  */
 public interface PropertyId extends FolderElement {
-
 	/**
 	 * Returns the value of the '<em><b>Type</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <p>
-	 * If the meaning of the '<em>Type</em>' reference isn't clear, there really should be more of a description here...
+	 * If the meaning of the '<em>Type</em>' reference isn't clear,
+	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Type</em>' reference.
@@ -55,4 +56,5 @@
 	 * @generated
 	 */
 	void setType(TypeConfig value);
+
 } // PropertyId
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/SimpleBinding.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/SimpleBinding.java
deleted file mode 100755
index ffb11a6..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/SimpleBinding.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Simple Binding</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.SimpleBinding#getOperators <em>Operators</em>}</li>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.SimpleBinding#getLayerOperatorMultipleBinding <em>Layer Operator Multiple Binding</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersconfigPackage#getSimpleBinding()
- * @model
- * @generated
- */
-public interface SimpleBinding extends LayersOperatorBinding {
-	/**
-	 * Returns the value of the '<em><b>Operators</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Operators</em>' reference isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Operators</em>' reference.
-	 * @see #setOperators(OperatorConfig)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersconfigPackage#getSimpleBinding_Operators()
-	 * @model required="true" ordered="false"
-	 * @generated
-	 */
-	OperatorConfig getOperators();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.SimpleBinding#getOperators <em>Operators</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Operators</em>' reference.
-	 * @see #getOperators()
-	 * @generated
-	 */
-	void setOperators(OperatorConfig value);
-
-	/**
-	 * Returns the value of the '<em><b>Layer Operator Multiple Binding</b></em>' container reference.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorMultipleBinding#getBindings <em>Bindings</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Layer Operator Multiple Binding</em>' container reference isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Layer Operator Multiple Binding</em>' container reference.
-	 * @see #setLayerOperatorMultipleBinding(LayerOperatorMultipleBinding)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersconfigPackage#getSimpleBinding_LayerOperatorMultipleBinding()
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorMultipleBinding#getBindings
-	 * @model opposite="bindings" required="true" transient="false" ordered="false"
-	 * @generated
-	 */
-	LayerOperatorMultipleBinding getLayerOperatorMultipleBinding();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.SimpleBinding#getLayerOperatorMultipleBinding <em>Layer Operator Multiple Binding</em>}' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Layer Operator Multiple Binding</em>' container reference.
-	 * @see #getLayerOperatorMultipleBinding()
-	 * @generated
-	 */
-	void setLayerOperatorMultipleBinding(LayerOperatorMultipleBinding value);
-
-} // SimpleBinding
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/TypeConfig.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/TypeConfig.java
index 19f305e..ce8d4a9 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/TypeConfig.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/TypeConfig.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig;
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/FolderElementImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/FolderElementImpl.java
index 67848c1..1f77e81 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/FolderElementImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/FolderElementImpl.java
@@ -1,21 +1,25 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.FolderElement;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
 
@@ -77,7 +81,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getName() {
 		return name;
 	}
@@ -87,7 +90,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -169,4 +171,4 @@
 		return result.toString();
 	}
 
-} // FolderElementImpl
+} //FolderElementImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/FolderImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/FolderImpl.java
index 4a6ef67..f119fb9 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/FolderImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/FolderImpl.java
@@ -1,25 +1,31 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl;
 
 import java.util.Collection;
 
+import java.util.List;
 import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.Folder;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.FolderElement;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
@@ -72,8 +78,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EList<FolderElement> getFolderElements() {
+	public List<FolderElement> getFolderElements() {
 		if (folderElements == null) {
 			folderElements = new EObjectContainmentEList<FolderElement>(FolderElement.class, this, LayersConfigPackage.FOLDER__FOLDER_ELEMENTS);
 		}
@@ -154,4 +159,4 @@
 		return super.eIsSet(featureID);
 	}
 
-} // FolderImpl
+} //FolderImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/InstanciableElementImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/InstanciableElementImpl.java
index e0b79e7..3e2ff88 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/InstanciableElementImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/InstanciableElementImpl.java
@@ -1,20 +1,24 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.ClassnameKind;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.InstanciableElement;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
@@ -161,7 +165,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getClassname() {
 		return classname;
 	}
@@ -171,7 +174,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setClassname(String newClassname) {
 		String oldClassname = classname;
 		classname = newClassname;
@@ -184,7 +186,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getBundleID() {
 		return bundleID;
 	}
@@ -194,7 +195,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setBundleID(String newBundleID) {
 		String oldBundleID = bundleID;
 		bundleID = newBundleID;
@@ -207,7 +207,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getDisplayName() {
 		return displayName;
 	}
@@ -217,7 +216,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setDisplayName(String newDisplayName) {
 		String oldDisplayName = displayName;
 		displayName = newDisplayName;
@@ -230,7 +228,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getIconPath() {
 		return iconPath;
 	}
@@ -240,7 +237,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setIconPath(String newIconPath) {
 		String oldIconPath = iconPath;
 		iconPath = newIconPath;
@@ -253,7 +249,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public ClassnameKind getClassnameKind() {
 		return classnameKind;
 	}
@@ -263,7 +258,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setClassnameKind(ClassnameKind newClassnameKind) {
 		ClassnameKind oldClassnameKind = classnameKind;
 		classnameKind = newClassnameKind == null ? CLASSNAME_KIND_EDEFAULT : newClassnameKind;
@@ -393,4 +387,4 @@
 		return result.toString();
 	}
 
-} // InstanciableElementImpl
+} //InstanciableElementImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/LayerOperatorConfigImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/LayerOperatorConfigImpl.java
index 65344e1..e05551b 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/LayerOperatorConfigImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/LayerOperatorConfigImpl.java
@@ -1,29 +1,29 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl;
 
 import java.lang.reflect.InvocationTargetException;
 
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorConfig;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.InstanciationException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 
 /**
  * <!-- begin-user-doc -->
@@ -59,22 +59,13 @@
 	 *
 	 * @return
 	 * @throws NotFoundException
-	 * @generated NOT
+	 * @generated
 	 */
 	@Override
 	public LayerOperatorDescriptor createLayersOperatorDescriptor() throws InstanciationException {
-
-		// Create instance of layer
-		EClassifier classifier = LayersPackage.eINSTANCE.getEClassifier(getClassname());
-		if (classifier == null) {
-			throw new InstanciationException("Can't create LayerOperatorDescriptor for name '" + getClassname() + "'");
-		}
-		LayerOperatorDescriptor res = (LayerOperatorDescriptor) LayersFactory.eINSTANCE.create((EClass) classifier);
-
-		// Set values
-		res.setName(getName());
-
-		return res;
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
@@ -95,4 +86,5 @@
 		}
 		return super.eInvoke(operationID, arguments);
 	}
+
 } // LayerOperatorConfigImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/LayerOperatorMultipleBindingImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/LayerOperatorMultipleBindingImpl.java
index 113bb09..dd36c9e 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/LayerOperatorMultipleBindingImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/LayerOperatorMultipleBindingImpl.java
@@ -1,27 +1,34 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl;
 
 import java.util.Collection;
 
+import java.util.List;
 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.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
 import org.eclipse.emf.ecore.util.InternalEList;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorConfig;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorMultipleBinding;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
@@ -86,7 +93,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerOperatorConfig getLayerOperatorConfig() {
 		if (layerOperatorConfig != null && layerOperatorConfig.eIsProxy()) {
 			InternalEObject oldLayerOperatorConfig = (InternalEObject)layerOperatorConfig;
@@ -113,7 +119,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setLayerOperatorConfig(LayerOperatorConfig newLayerOperatorConfig) {
 		LayerOperatorConfig oldLayerOperatorConfig = layerOperatorConfig;
 		layerOperatorConfig = newLayerOperatorConfig;
@@ -126,8 +131,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EList<OperatorBinding> getBindings() {
+	public List<OperatorBinding> getBindings() {
 		if (bindings == null) {
 			bindings = new EObjectContainmentWithInverseEList<OperatorBinding>(OperatorBinding.class, this, LayersConfigPackage.LAYER_OPERATOR_MULTIPLE_BINDING__BINDINGS, LayersConfigPackage.OPERATOR_BINDING__OWNER);
 		}
@@ -234,4 +238,4 @@
 		return super.eIsSet(featureID);
 	}
 
-} // LayerOperatorMultipleBindingImpl
+} //LayerOperatorMultipleBindingImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/OperatorBindingImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/OperatorBindingImpl.java
index 74d968e..2d41689 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/OperatorBindingImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/OperatorBindingImpl.java
@@ -1,24 +1,29 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.emf.ecore.util.EcoreUtil;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorConfig;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorMultipleBinding;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
@@ -136,12 +141,13 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	public LayerOperatorConfig basicGetLayerOperatorConfig() {
-		//
-		return getOwner().getLayerOperatorConfig();
+		// TODO: implement this method to return the 'Layer Operator Config' reference
+		// -> do not perform proxy resolution
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/OperatorConfigImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/OperatorConfigImpl.java
index d82fe12..4806a88 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/OperatorConfigImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/OperatorConfigImpl.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl;
 
@@ -16,18 +17,18 @@
 
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EClassifier;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.ClassnameKind;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.OperatorConfig;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.InstanciationException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.ServiceException;
 
@@ -42,6 +43,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	protected OperatorConfigImpl() {
@@ -51,6 +53,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -61,71 +64,46 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * 
+	 * @generated
 	 */
 	@Override
 	public PropertyOperator createOperatorDescriptor() throws InstanciationException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
 
-		switch (getClassnameKind()) {
-		case UNDEFINED:
-			// Try to find the exact type of classname
-			PropertyOperator res;
-
-			// Try as EMF instance
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+		case LayersConfigPackage.OPERATOR_CONFIG___CREATE_OPERATOR_DESCRIPTOR:
 			try {
-				res = createEmfInstance();
-				setClassnameKind(ClassnameKind.EMF_CLASSNAME);
-				return res;
-			} catch (InstanciationException e) {
-				// Not an EMF name. Try other solutions.
-			} catch (ClassCastException e) {
-				// specified class name is of wrong type
-				setClassnameKind(ClassnameKind.NOT_FOUND);
-				throw new InstanciationException("Can't create PropertyOperator for name '" + getClassname() + "'. Bad EMF type.");
+				return createOperatorDescriptor();
+			} catch (Throwable throwable) {
+				throw new InvocationTargetException(throwable);
 			}
-
-			// Try as java pojo
-			try {
-				res = createPojoInstance();
-				setClassnameKind(ClassnameKind.POJO_CLASSNAME);
-				return res;
-			} catch (InstanciationException e) {
-				setClassnameKind(ClassnameKind.NOT_FOUND);
-				throw e;
-			}
-
-
-		case EMF_CLASSNAME:
-			return createEmfInstance();
-
-		case POJO_CLASSNAME:
-			// Try to load a java class
-			return createPojoInstance();
-
-
-		case NOT_FOUND:
-			// We already are in error. Do nothing
-
-			break;
-
-		default:
-			break;
 		}
-
-		throw new InstanciationException("Can't create PropertyOperator for name '" + getClassname() + "'.");
-
+		return super.eInvoke(operationID, arguments);
 	}
 
 	/**
 	 * @return
 	 * @throws InstanciationException
+	 * 
+	 * @generated
 	 */
 	protected PropertyOperator createPojoInstance() throws InstanciationException {
 		try {
 			Class<?> opClass = loadClass();
-			CustomPropertyOperator operator = LayersFactory.eINSTANCE.createCustomPropertyOperator();
-			operator.setOperatorInstance((CustomPropertyOperatorsInstance) opClass.newInstance());
+			PropertyOperator operator = LayersFactory.eINSTANCE.createPropertyOperator();
+			operator.setOperatorInstance((PropertyOperator) opClass.newInstance());
 			operator.setName(getName());
 
 			return operator;
@@ -140,6 +118,8 @@
 	 *
 	 * @return
 	 * @throws InstanciationException
+	 * 
+	 * @generated
 	 */
 	protected PropertyOperator createEmfInstance() throws InstanciationException {
 		// Try to load an EMF type
@@ -158,30 +138,13 @@
 	}
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
-		switch (operationID) {
-			case LayersConfigPackage.OPERATOR_CONFIG___CREATE_OPERATOR_DESCRIPTOR:
-				try {
-					return createOperatorDescriptor();
-				}
-				catch (Throwable throwable) {
-					throw new InvocationTargetException(throwable);
-				}
-		}
-		return super.eInvoke(operationID, arguments);
-	}
-
-	/**
 	 * Load the Class object. Try from current ClassLoader, then try using the
 	 * plugin referenced in the serviceDescriptor.PluginId
 	 *
 	 * @return
 	 * @throws ServiceException
+	 * 
+	 * @generated
 	 */
 	private Class<?> loadClass() throws LayersException {
 		String classname = getClassname();
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/PropertyIdImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/PropertyIdImpl.java
index 06ac103..55bb9d8 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/PropertyIdImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/PropertyIdImpl.java
@@ -1,21 +1,25 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.PropertyId;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.TypeConfig;
@@ -68,7 +72,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public TypeConfig getType() {
 		if (type != null && type.eIsProxy()) {
 			InternalEObject oldType = (InternalEObject)type;
@@ -95,7 +98,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setType(TypeConfig newType) {
 		TypeConfig oldType = type;
 		type = newType;
@@ -162,4 +164,4 @@
 		return super.eIsSet(featureID);
 	}
 
-} // PropertyIdImpl
+} //PropertyIdImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/TypeConfigImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/TypeConfigImpl.java
index 2174d0f..315417f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/TypeConfigImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/TypeConfigImpl.java
@@ -1,18 +1,20 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl;
 
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayersConfigPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.TypeConfig;
 
@@ -43,4 +45,4 @@
 		return LayersConfigPackage.Literals.TYPE_CONFIG;
 	}
 
-} // TypeConfigImpl
+} //TypeConfigImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/AbstractLayer.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/AbstractLayer.java
index 7de610e..7c4bdee 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/AbstractLayer.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/AbstractLayer.java
@@ -13,8 +13,8 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.EMap;
+import java.util.List;
+import java.util.Map;
 
 import org.eclipse.gmf.runtime.notation.View;
 
@@ -55,7 +55,7 @@
 	 * @model
 	 * @generated
 	 */
-	EList<TypeInstance> getPropertyValues();
+	List<TypeInstance> getPropertyValues();
 
 	/**
 	 * Returns the value of the '<em><b>Property Value Map</b></em>' map.
@@ -72,7 +72,7 @@
 	 * @model mapType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringToTypeInstanceMap&lt;org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance&gt;" ordered="false"
 	 * @generated
 	 */
-	EMap<String, TypeInstance> getPropertyValueMap();
+	Map<String, TypeInstance> getPropertyValueMap();
 
 	/**
 	 * Returns the value of the '<em><b>Layer Descriptor</b></em>' reference.
@@ -114,7 +114,7 @@
 	 * @model ordered="false"
 	 * @generated
 	 */
-	EList<View> getViews();
+	List<View> getViews();
 
 	/**
 	 * Returns the value of the '<em><b>Attached Properties</b></em>' reference list.
@@ -130,7 +130,7 @@
 	 * @model transient="true" volatile="true" derived="true" ordered="false"
 	 * @generated
 	 */
-	EList<Property> getAttachedProperties();
+	List<Property> getAttachedProperties();
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/AbstractLayerOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/AbstractLayerOperator.java
deleted file mode 100755
index a5c2e3b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/AbstractLayerOperator.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Abstract Layer Operator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#getLayerOperatorDescriptor <em>Layer Operator Descriptor</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#getLayerOperatorDescriptorName <em>Layer Operator Descriptor Name</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getAbstractLayerOperator()
- * @model abstract="true"
- * @generated
- */
-public interface AbstractLayerOperator extends LayerOperator {
-	/**
-	 * Returns the value of the '<em><b>Layer Operator Descriptor</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Layer Operator Descriptor</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Layer Operator Descriptor</em>' reference.
-	 * @see #setLayerOperatorDescriptor(LayerOperatorDescriptor)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getAbstractLayerOperator_LayerOperatorDescriptor()
-	 * @model required="true" transient="true" ordered="false"
-	 * @generated
-	 */
-	LayerOperatorDescriptor getLayerOperatorDescriptor();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#getLayerOperatorDescriptor <em>Layer Operator Descriptor</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Layer Operator Descriptor</em>' reference.
-	 * @see #getLayerOperatorDescriptor()
-	 * @generated
-	 */
-	void setLayerOperatorDescriptor(LayerOperatorDescriptor value);
-
-	/**
-	 * Returns the value of the '<em><b>Layer Operator Descriptor Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Layer Operator Descriptor Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Layer Operator Descriptor Name</em>' attribute.
-	 * @see #setLayerOperatorDescriptorName(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getAbstractLayerOperator_LayerOperatorDescriptorName()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getLayerOperatorDescriptorName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#getLayerOperatorDescriptorName <em>Layer Operator Descriptor Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Layer Operator Descriptor Name</em>' attribute.
-	 * @see #getLayerOperatorDescriptorName()
-	 * @generated
-	 */
-	void setLayerOperatorDescriptorName(String value);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model kind="operation" dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.boolean" required="true" ordered="false"
-	 * @generated
-	 */
-	boolean isDescriptorSet();
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model
-	 * @generated
-	 */
-	void resetDescriptor();
-
-} // AbstractLayerOperator
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/AndStackedLayerOperatorDescriptor.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/AndStackedLayerOperatorDescriptor.java
deleted file mode 100755
index 4cc493d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/AndStackedLayerOperatorDescriptor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>And Stacked Layer Operator Descriptor</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getAndStackedLayerOperatorDescriptor()
- * @model
- * @generated
- */
-public interface AndStackedLayerOperatorDescriptor extends StackedLayerOperatorDescriptor {
-} // AndStackedLayerOperatorDescriptor
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanInstance.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanInstance.java
deleted file mode 100755
index e86c246..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanInstance.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Boolean Instance</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance#isValue <em>Value</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getBooleanInstance()
- * @model
- * @generated
- */
-public interface BooleanInstance extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(boolean)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getBooleanInstance_Value()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.boolean" required="true" ordered="false"
-	 * @generated
-	 */
-	boolean isValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance#isValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value</em>' attribute.
-	 * @see #isValue()
-	 * @generated
-	 */
-	void setValue(boolean value);
-
-} // BooleanInstance
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanPropertyValue.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanPropertyValue.java
deleted file mode 100755
index 6766f90..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanPropertyValue.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Boolean Property Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanPropertyValue#isValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getBooleanPropertyValue()
- * @model
- * @generated
- */
-public interface BooleanPropertyValue extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(boolean)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getBooleanPropertyValue_Value()
-	 * @model unique="false" dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.boolean" required="true" ordered="false"
-	 * @generated
-	 */
-	boolean isValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanPropertyValue#isValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Value</em>' attribute.
-	 * @see #isValue()
-	 * @generated
-	 */
-	void setValue(boolean value);
-
-} // BooleanPropertyValue
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanType.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanType.java
deleted file mode 100755
index 80bae41..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanType.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Boolean Type</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getBooleanType()
- * @model
- * @generated
- */
-public interface BooleanType extends Type {
-} // BooleanType
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanValue.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanValue.java
deleted file mode 100755
index 83dd036..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/BooleanValue.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Boolean Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanValue#isValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getBooleanValue()
- * @model
- * @generated
- */
-public interface BooleanValue extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(boolean)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getBooleanValue_Value()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.boolean" required="true" ordered="false"
-	 * @generated
-	 */
-	boolean isValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanValue#isValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Value</em>' attribute.
-	 * @see #isValue()
-	 * @generated
-	 */
-	void setValue(boolean value);
-
-} // BooleanValue
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Color.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Color.java
deleted file mode 100755
index 8508717..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Color.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Color</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getColor()
- * @model
- * @generated
- */
-public interface Color extends Type {
-} // Color
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/ColorInstance.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/ColorInstance.java
deleted file mode 100755
index 80460b0..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/ColorInstance.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Color Instance</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getColorInstance()
- * @model
- * @generated
- */
-public interface ColorInstance extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(int)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getColorInstance_Value()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.int" required="true" ordered="false"
-	 * @generated
-	 */
-	int getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(int value);
-
-} // ColorInstance
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/CustomLayerOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/CustomLayerOperator.java
deleted file mode 100755
index b8d30c8..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/CustomLayerOperator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Custom Layer Operator</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getCustomLayerOperator()
- * @model
- * @generated
- */
-public interface CustomLayerOperator extends LayerOperator {
-} // CustomLayerOperator
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/CustomPropertyOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/CustomPropertyOperator.java
deleted file mode 100755
index d27acd1..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/CustomPropertyOperator.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Custom Property Operator</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getClassname <em>Classname</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getOperatorInstance <em>Operator Instance</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getClassBundleID <em>Class Bundle ID</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getCustomPropertyOperator()
- * @model
- * @generated
- */
-public interface CustomPropertyOperator extends PropertyOperator {
-	/**
-	 * Returns the value of the '<em><b>Classname</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Classname</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Classname</em>' attribute.
-	 * @see #setClassname(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getCustomPropertyOperator_Classname()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getClassname();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getClassname <em>Classname</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Classname</em>' attribute.
-	 * @see #getClassname()
-	 * @generated
-	 */
-	void setClassname(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Operator Instance</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Operator Instance</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Operator Instance</em>' attribute.
-	 * @see #setOperatorInstance(CustomPropertyOperatorsInstance)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getCustomPropertyOperator_OperatorInstance()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOpertorInstance" required="true" ordered="false"
-	 * @generated
-	 */
-	CustomPropertyOperatorsInstance getOperatorInstance();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getOperatorInstance <em>Operator Instance</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Operator Instance</em>' attribute.
-	 * @see #getOperatorInstance()
-	 * @generated
-	 */
-	void setOperatorInstance(CustomPropertyOperatorsInstance value);
-
-	/**
-	 * Returns the value of the '<em><b>Class Bundle ID</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Class Bundle ID</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Class Bundle ID</em>' attribute.
-	 * @see #setClassBundleID(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getCustomPropertyOperator_ClassBundleID()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getClassBundleID();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getClassBundleID <em>Class Bundle ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Class Bundle ID</em>' attribute.
-	 * @see #getClassBundleID()
-	 * @generated
-	 */
-	void setClassBundleID(String value);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException"
-	 * @generated
-	 */
-	void resetOperatorInstance() throws LayersException;
-
-} // CustomPropertyOperator
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/CustomType.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/CustomType.java
deleted file mode 100755
index d3a0fba..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/CustomType.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Custom Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType#getClassifier <em>Classifier</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getCustomType()
- * @model
- * @generated
- */
-public interface CustomType extends Type {
-	/**
-	 * Returns the value of the '<em><b>Classifier</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Classifier</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Classifier</em>' attribute.
-	 * @see #setClassifier(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getCustomType_Classifier()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getClassifier();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType#getClassifier <em>Classifier</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Classifier</em>' attribute.
-	 * @see #getClassifier()
-	 * @generated
-	 */
-	void setClassifier(String value);
-
-} // CustomType
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/DefaultPropertyOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/DefaultPropertyOperator.java
deleted file mode 100755
index 56fc062..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/DefaultPropertyOperator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Default Property Operator</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getDefaultPropertyOperator()
- * @model
- * @generated
- */
-public interface DefaultPropertyOperator extends PropertyOperator {
-} // DefaultPropertyOperator
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Fill.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Fill.java
deleted file mode 100755
index 11e2887..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Fill.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Fill</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFill()
- * @model
- * @generated
- */
-public interface Fill extends Type {
-} // Fill
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FillInstance.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FillInstance.java
deleted file mode 100755
index 40993ea..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FillInstance.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Fill Instance</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance#getTransparency <em>Transparency</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance#getFillColor <em>Fill Color</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFillInstance()
- * @model
- * @generated
- */
-public interface FillInstance extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Transparency</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Transparency</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Transparency</em>' attribute.
-	 * @see #setTransparency(int)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFillInstance_Transparency()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.int" required="true" ordered="false"
-	 * @generated
-	 */
-	int getTransparency();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance#getTransparency <em>Transparency</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Transparency</em>' attribute.
-	 * @see #getTransparency()
-	 * @generated
-	 */
-	void setTransparency(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Fill Color</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Fill Color</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>Fill Color</em>' containment reference.
-	 * @see #setFillColor(ColorInstance)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFillInstance_FillColor()
-	 * @model containment="true" required="true" ordered="false"
-	 * @generated
-	 */
-	ColorInstance getFillColor();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance#getFillColor <em>Fill Color</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Fill Color</em>' containment reference.
-	 * @see #getFillColor()
-	 * @generated
-	 */
-	void setFillColor(ColorInstance value);
-
-} // FillInstance
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FillPropertySetter.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FillPropertySetter.java
deleted file mode 100755
index 4949de5..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FillPropertySetter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Fill Property Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFillPropertySetter()
- * @model
- * @generated
- */
-public interface FillPropertySetter extends PropertySetter {
-} // FillPropertySetter
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Folder.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Folder.java
index ae461d4..bf5cc43 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Folder.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Folder.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 /**
  * <!-- begin-user-doc -->
@@ -47,7 +47,7 @@
 	 * @model containment="true" ordered="false"
 	 * @generated
 	 */
-	EList<FolderElement> getElements();
+	List<FolderElement> getElements();
 
 	/**
 	 * Returns the value of the '<em><b>Name</b></em>' attribute.
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FontInstance.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FontInstance.java
deleted file mode 100755
index abd4001..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FontInstance.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Font Instance</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontColor <em>Font Color</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontName <em>Font Name</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontHeigh <em>Font Heigh</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#isBold <em>Bold</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFontInstance()
- * @model
- * @generated
- */
-public interface FontInstance extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Font Color</b></em>' attribute.
-	 * The default value is <code>"15053796"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Font Color</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Font Color</em>' attribute.
-	 * @see #setFontColor(int)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFontInstance_FontColor()
-	 * @model default="15053796" dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.int" required="true" ordered="false"
-	 * @generated
-	 */
-	int getFontColor();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontColor <em>Font Color</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Font Color</em>' attribute.
-	 * @see #getFontColor()
-	 * @generated
-	 */
-	void setFontColor(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Font Name</b></em>' attribute.
-	 * The default value is <code>"Segoe UI"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Font Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Font Name</em>' attribute.
-	 * @see #setFontName(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFontInstance_FontName()
-	 * @model default="Segoe UI" dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getFontName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontName <em>Font Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Font Name</em>' attribute.
-	 * @see #getFontName()
-	 * @generated
-	 */
-	void setFontName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Font Heigh</b></em>' attribute.
-	 * The default value is <code>"9"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Font Heigh</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Font Heigh</em>' attribute.
-	 * @see #setFontHeigh(int)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFontInstance_FontHeigh()
-	 * @model default="9" dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.int" required="true" ordered="false"
-	 * @generated
-	 */
-	int getFontHeigh();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontHeigh <em>Font Heigh</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Font Heigh</em>' attribute.
-	 * @see #getFontHeigh()
-	 * @generated
-	 */
-	void setFontHeigh(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Bold</b></em>' attribute.
-	 * The default value is <code>"true"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Bold</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Bold</em>' attribute.
-	 * @see #setBold(boolean)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFontInstance_Bold()
-	 * @model default="true" dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.boolean" required="true" ordered="false"
-	 * @generated
-	 */
-	boolean isBold();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#isBold <em>Bold</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Bold</em>' attribute.
-	 * @see #isBold()
-	 * @generated
-	 */
-	void setBold(boolean value);
-
-} // FontInstance
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FontPropertySetter.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FontPropertySetter.java
deleted file mode 100755
index 21a5614..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FontPropertySetter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Font Property Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFontPropertySetter()
- * @model
- * @generated
- */
-public interface FontPropertySetter extends PropertySetter {
-} // FontPropertySetter
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FontType.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FontType.java
deleted file mode 100755
index 31ef150..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/FontType.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Font Type</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getFontType()
- * @model
- * @generated
- */
-public interface FontType extends Type {
-} // FontType
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntInstance.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntInstance.java
deleted file mode 100755
index b5e55d8..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntInstance.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Int Instance</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getIntInstance()
- * @model
- * @generated
- */
-public interface IntInstance extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(int)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getIntInstance_Value()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.int" required="true" ordered="false"
-	 * @generated
-	 */
-	int getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(int value);
-
-} // IntInstance
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntPropertyValue.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntPropertyValue.java
deleted file mode 100755
index 2bbef97..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntPropertyValue.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Int Property Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntPropertyValue#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getIntPropertyValue()
- * @model
- * @generated
- */
-public interface IntPropertyValue extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(int)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getIntPropertyValue_Value()
-	 * @model unique="false" dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.int" required="true" ordered="false"
-	 * @generated
-	 */
-	int getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntPropertyValue#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(int value);
-
-} // IntPropertyValue
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntType.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntType.java
deleted file mode 100755
index 568cdee..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntType.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Int Type</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getIntType()
- * @model
- * @generated
- */
-public interface IntType extends Type {
-} // IntType
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntValue.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntValue.java
deleted file mode 100755
index e2fae40..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IntValue.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Int Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntValue#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getIntValue()
- * @model
- * @generated
- */
-public interface IntValue extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(int)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getIntValue_Value()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.int" required="true" ordered="false"
-	 * @generated
-	 */
-	int getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntValue#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(int value);
-
-} // IntValue
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IsAbstractUmlSetter.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IsAbstractUmlSetter.java
deleted file mode 100755
index 00ace40..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IsAbstractUmlSetter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Is Abstract Uml Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getIsAbstractUmlSetter()
- * @model
- * @generated
- */
-public interface IsAbstractUmlSetter extends PropertySetter {
-} // IsAbstractUmlSetter
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IsValidPropertySetter.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IsValidPropertySetter.java
deleted file mode 100755
index 9b31759..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IsValidPropertySetter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Is Valid Property Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getIsValidPropertySetter()
- * @model
- * @generated
- */
-public interface IsValidPropertySetter extends PropertySetter {
-} // IsValidPropertySetter
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IsVisiblePropertySetter.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IsVisiblePropertySetter.java
deleted file mode 100755
index 3ba21d8..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/IsVisiblePropertySetter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Is Visible Property Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getIsVisiblePropertySetter()
- * @model
- * @generated
- */
-public interface IsVisiblePropertySetter extends PropertySetter {
-} // IsVisiblePropertySetter
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerDescriptorRegistry.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerDescriptorRegistry.java
index 71e5fe5..ce91ea1 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerDescriptorRegistry.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerDescriptorRegistry.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -48,6 +48,6 @@
 	 * @model containment="true" ordered="false"
 	 * @generated
 	 */
-	EList<LayerDescriptor> getLayerDescriptors();
+	List<LayerDescriptor> getLayerDescriptors();
 
 } // LayerDescriptorRegistry
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerExpression.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerExpression.java
index d62248c..3b6c7fb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerExpression.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerExpression.java
@@ -15,8 +15,6 @@
 
 import java.util.List;
 
-import org.eclipse.emf.common.util.EList;
-
 import org.eclipse.gmf.runtime.notation.View;
 
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
@@ -240,7 +238,7 @@
 	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ComputePropertyValueCommand" exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException" viewMany="true" propertyRequired="true" propertyOrdered="false"
 	 * @generated
 	 */
-	EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(EList<View> view, Property property) throws LayersException;
+	List<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> view, Property property) throws LayersException;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -248,7 +246,7 @@
 	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ComputePropertyValueCommand" exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException" viewRequired="true" viewOrdered="false" propertyRequired="true" propertyMany="true"
 	 * @generated
 	 */
-	EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, EList<Property> property) throws LayersException;
+	List<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> property) throws LayersException;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -333,23 +331,4 @@
 	 */
 	void exitAttachedState();
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @throws LayersException
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ComputePropertyValueCommand" viewMany="true" propertyRequired="true" propertyOrdered="false"
-	 * @generated NOT
-	 */
-	EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> view, Property property) throws LayersException;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @throws LayersException
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ComputePropertyValueCommand" viewRequired="true" viewOrdered="false" propertyRequired="true" propertyMany="true"
-	 * @generated NOT
-	 */
-	EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> property) throws LayersException;
 } // LayerExpression
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerNamedStyle.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerNamedStyle.java
index 694bd79..2c9d848 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerNamedStyle.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerNamedStyle.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 import org.eclipse.gmf.runtime.notation.NamedStyle;
 
@@ -48,6 +48,6 @@
 	 * @model containment="true" ordered="false"
 	 * @generated
 	 */
-	EList<LayersStack> getLayersStack();
+	List<LayersStack> getLayersStack();
 
 } // LayerNamedStyle
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperator.java
index 90a9696..758b1a9 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperator.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperator.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 /**
  * <!-- begin-user-doc -->
@@ -25,6 +25,8 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#getLayers <em>Layers</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#getLayerOperatorDescriptorName <em>Layer Operator Descriptor Name</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#getLayerOperatorDescriptor <em>Layer Operator Descriptor</em>}</li>
  * </ul>
  *
  * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getLayerOperator()
@@ -46,6 +48,74 @@
 	 * @model containment="true"
 	 * @generated
 	 */
-	EList<LayerExpression> getLayers();
+	List<LayerExpression> getLayers();
+
+	/**
+	 * Returns the value of the '<em><b>Layer Operator Descriptor Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Layer Operator Descriptor Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Layer Operator Descriptor Name</em>' attribute.
+	 * @see #setLayerOperatorDescriptorName(String)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getLayerOperator_LayerOperatorDescriptorName()
+	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getLayerOperatorDescriptorName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#getLayerOperatorDescriptorName <em>Layer Operator Descriptor Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Layer Operator Descriptor Name</em>' attribute.
+	 * @see #getLayerOperatorDescriptorName()
+	 * @generated
+	 */
+	void setLayerOperatorDescriptorName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Layer Operator Descriptor</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Layer Operator Descriptor</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Layer Operator Descriptor</em>' reference.
+	 * @see #setLayerOperatorDescriptor(LayerOperatorDescriptor)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getLayerOperator_LayerOperatorDescriptor()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	LayerOperatorDescriptor getLayerOperatorDescriptor();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#getLayerOperatorDescriptor <em>Layer Operator Descriptor</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Layer Operator Descriptor</em>' reference.
+	 * @see #getLayerOperatorDescriptor()
+	 * @generated
+	 */
+	void setLayerOperatorDescriptor(LayerOperatorDescriptor value);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation" dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.boolean" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isDescriptorSet();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model
+	 * @generated
+	 */
+	void resetDescriptor();
 
 } // LayerOperator
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperatorDescriptor.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperatorDescriptor.java
index 818ef0a..d40e1a7 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperatorDescriptor.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperatorDescriptor.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -51,7 +51,7 @@
 	 * @model transient="true"
 	 * @generated
 	 */
-	EList<PropertyOperator> getPropertyOperators();
+	List<PropertyOperator> getPropertyOperators();
 
 	/**
 	 * Returns the value of the '<em><b>Name</b></em>' attribute.
@@ -101,7 +101,7 @@
 	 * @model required="true" ordered="false"
 	 * @generated
 	 */
-	AbstractLayerOperator createLayerOperator();
+	LayerOperator createLayerOperator();
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -109,6 +109,6 @@
 	 * @model sizeDataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.int" sizeRequired="true" sizeOrdered="false" defaultPropertyOperatorRequired="true" defaultPropertyOperatorOrdered="false"
 	 * @generated
 	 */
-	void setPropertyCollectionSize(int size, DefaultPropertyOperator defaultPropertyOperator);
+	void setPropertyCollectionSize(int size, PropertyOperator defaultPropertyOperator);
 
 } // LayerOperatorDescriptor
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperatorDescriptorRegistry.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperatorDescriptorRegistry.java
index dd27976..6df8f08 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperatorDescriptorRegistry.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayerOperatorDescriptorRegistry.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -54,7 +54,7 @@
 	 * @model containment="true" transient="true" ordered="false"
 	 * @generated
 	 */
-	EList<LayerOperatorDescriptor> getDescriptors();
+	List<LayerOperatorDescriptor> getDescriptors();
 
 	/**
 	 * Returns the value of the '<em><b>Property Operators</b></em>' containment reference list.
@@ -70,7 +70,7 @@
 	 * @model containment="true" transient="true"
 	 * @generated
 	 */
-	EList<PropertyOperator> getPropertyOperators();
+	List<PropertyOperator> getPropertyOperators();
 
 	/**
 	 * Returns the value of the '<em><b>Property Collection Size</b></em>' attribute.
@@ -111,7 +111,7 @@
 	 * @model required="true" transient="true" changeable="false" ordered="false"
 	 * @generated
 	 */
-	DefaultPropertyOperator getDefaultOperator();
+	PropertyOperator getDefaultOperator();
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -159,6 +159,6 @@
 	 * @model required="true" ordered="false" exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException" layerOperatorIDDataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" layerOperatorIDRequired="true" layerOperatorIDOrdered="false"
 	 * @generated
 	 */
-	AbstractLayerOperator createLayerOperator(String layerOperatorID) throws LayersException;
+	LayerOperator createLayerOperator(String layerOperatorID) throws LayersException;
 
 } // LayerOperatorDescriptorRegistry
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersFactory.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersFactory.java
index d70c2ca..1ac6724 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersFactory.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersFactory.java
@@ -87,15 +87,6 @@
 	Property createProperty();
 
 	/**
-	 * Returns a new object of class '<em>Metamodel</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Metamodel</em>'.
-	 * @generated
-	 */
-	Metamodel createMetamodel();
-
-	/**
 	 * Returns a new object of class '<em>Type Registry</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -168,15 +159,6 @@
 	PropertyOperator createPropertyOperator();
 
 	/**
-	 * Returns a new object of class '<em>Default Property Operator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Default Property Operator</em>'.
-	 * @generated
-	 */
-	DefaultPropertyOperator createDefaultPropertyOperator();
-
-	/**
 	 * Returns a new object of class '<em>Folder</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -186,67 +168,13 @@
 	Folder createFolder();
 
 	/**
-	 * Returns a new object of class '<em>Int Instance</em>'.
+	 * Returns a new object of class '<em>Metamodel</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Int Instance</em>'.
+	 * @return a new object of class '<em>Metamodel</em>'.
 	 * @generated
 	 */
-	IntInstance createIntInstance();
-
-	/**
-	 * Returns a new object of class '<em>Boolean Instance</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Boolean Instance</em>'.
-	 * @generated
-	 */
-	BooleanInstance createBooleanInstance();
-
-	/**
-	 * Returns a new object of class '<em>String Instance</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>String Instance</em>'.
-	 * @generated
-	 */
-	StringInstance createStringInstance();
-
-	/**
-	 * Returns a new object of class '<em>Int Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Int Type</em>'.
-	 * @generated
-	 */
-	IntType createIntType();
-
-	/**
-	 * Returns a new object of class '<em>Boolean Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Boolean Type</em>'.
-	 * @generated
-	 */
-	BooleanType createBooleanType();
-
-	/**
-	 * Returns a new object of class '<em>String Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>String Type</em>'.
-	 * @generated
-	 */
-	StringType createStringType();
-
-	/**
-	 * Returns a new object of class '<em>Custom Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Custom Type</em>'.
-	 * @generated
-	 */
-	CustomType createCustomType();
+	Metamodel createMetamodel();
 
 	/**
 	 * Returns a new object of class '<em>Top Layer Operator</em>'.
@@ -267,15 +195,6 @@
 	StackedLayerOperator createStackedLayerOperator();
 
 	/**
-	 * Returns a new object of class '<em>Custom Layer Operator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Custom Layer Operator</em>'.
-	 * @generated
-	 */
-	CustomLayerOperator createCustomLayerOperator();
-
-	/**
 	 * Returns a new object of class '<em>Property Index</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -294,15 +213,6 @@
 	SimpleLayerDescriptor createSimpleLayerDescriptor();
 
 	/**
-	 * Returns a new object of class '<em>Reg Exp Layer Descriptor</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Reg Exp Layer Descriptor</em>'.
-	 * @generated
-	 */
-	RegExpLayerDescriptor createRegExpLayerDescriptor();
-
-	/**
 	 * Returns a new object of class '<em>Null Instance</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -312,15 +222,6 @@
 	NullInstance createNullInstance();
 
 	/**
-	 * Returns a new object of class '<em>Reg Exp Layer</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Reg Exp Layer</em>'.
-	 * @generated
-	 */
-	RegExpLayer createRegExpLayer();
-
-	/**
 	 * Returns a new object of class '<em>Layer</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -330,60 +231,6 @@
 	Layer createLayer();
 
 	/**
-	 * Returns a new object of class '<em>Color</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Color</em>'.
-	 * @generated
-	 */
-	Color createColor();
-
-	/**
-	 * Returns a new object of class '<em>Color Instance</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Color Instance</em>'.
-	 * @generated
-	 */
-	ColorInstance createColorInstance();
-
-	/**
-	 * Returns a new object of class '<em>Fill Instance</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Fill Instance</em>'.
-	 * @generated
-	 */
-	FillInstance createFillInstance();
-
-	/**
-	 * Returns a new object of class '<em>Fill</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Fill</em>'.
-	 * @generated
-	 */
-	Fill createFill();
-
-	/**
-	 * Returns a new object of class '<em>Fill Property Setter</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Fill Property Setter</em>'.
-	 * @generated
-	 */
-	FillPropertySetter createFillPropertySetter();
-
-	/**
-	 * Returns a new object of class '<em>Is Valid Property Setter</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Is Valid Property Setter</em>'.
-	 * @generated
-	 */
-	IsValidPropertySetter createIsValidPropertySetter();
-
-	/**
 	 * Returns a new object of class '<em>Null Property Setter</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -393,69 +240,6 @@
 	NullPropertySetter createNullPropertySetter();
 
 	/**
-	 * Returns a new object of class '<em>Line Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Line Type</em>'.
-	 * @generated
-	 */
-	LineType createLineType();
-
-	/**
-	 * Returns a new object of class '<em>Line Instance</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Line Instance</em>'.
-	 * @generated
-	 */
-	LineInstance createLineInstance();
-
-	/**
-	 * Returns a new object of class '<em>Line Property Setter</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Line Property Setter</em>'.
-	 * @generated
-	 */
-	LinePropertySetter createLinePropertySetter();
-
-	/**
-	 * Returns a new object of class '<em>Font Property Setter</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Font Property Setter</em>'.
-	 * @generated
-	 */
-	FontPropertySetter createFontPropertySetter();
-
-	/**
-	 * Returns a new object of class '<em>Font Instance</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Font Instance</em>'.
-	 * @generated
-	 */
-	FontInstance createFontInstance();
-
-	/**
-	 * Returns a new object of class '<em>Font Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Font Type</em>'.
-	 * @generated
-	 */
-	FontType createFontType();
-
-	/**
-	 * Returns a new object of class '<em>Is Visible Property Setter</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Is Visible Property Setter</em>'.
-	 * @generated
-	 */
-	IsVisiblePropertySetter createIsVisiblePropertySetter();
-
-	/**
 	 * Returns a new object of class '<em>Top Layer Operator Descriptor</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -474,42 +258,6 @@
 	StackedLayerOperatorDescriptor createStackedLayerOperatorDescriptor();
 
 	/**
-	 * Returns a new object of class '<em>Custom Property Operator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Custom Property Operator</em>'.
-	 * @generated
-	 */
-	CustomPropertyOperator createCustomPropertyOperator();
-
-	/**
-	 * Returns a new object of class '<em>And Stacked Layer Operator Descriptor</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>And Stacked Layer Operator Descriptor</em>'.
-	 * @generated
-	 */
-	AndStackedLayerOperatorDescriptor createAndStackedLayerOperatorDescriptor();
-
-	/**
-	 * Returns a new object of class '<em>Or Stacked Layer Operator Descriptor</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Or Stacked Layer Operator Descriptor</em>'.
-	 * @generated
-	 */
-	OrStackedLayerOperatorDescriptor createOrStackedLayerOperatorDescriptor();
-
-	/**
-	 * Returns a new object of class '<em>Is Abstract Uml Setter</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Is Abstract Uml Setter</em>'.
-	 * @generated
-	 */
-	IsAbstractUmlSetter createIsAbstractUmlSetter();
-
-	/**
 	 * Returns a new object of class '<em>All Views Derived Layer</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersFactoryForStack.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersFactoryForStack.java
deleted file mode 100755
index 66e03d4..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersFactoryForStack.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage
- * @generated
- */
-public interface LayersFactoryForStack {
-	/**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated
-	 */
-	LayersFactoryForStack eINSTANCE = org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryForStackImpl.init();
-
-	/**
-	 * Returns a new object of class '<em>Stack</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @return a new object of class '<em>Stack</em>'.
-	 * @generated
-	 */
-	LayersStack createLayersStack();
-
-	/**
-	 * Returns a new object of class '<em>Layer</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @return a new object of class '<em>Layer</em>'.
-	 * @generated NOT
-	 */
-	public Layer createLayer(LayersContainer parent, LayersStack owningStack, LayersStackApplication application)
-			throws LayersException;
-
-
-	/**
-	 * Returns a new object of class '<em>Reg Exp Layer</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @return a new object of class '<em>Reg Exp Layer</em>'.
-	 * @throws LayersException
-	 * @generated
-	 */
-	public RegExpLayer createRegExpLayer(LayersContainer parent, LayersStack owningStack, LayersStackApplication application) throws LayersException;
-
-	/**
-	 * Returns a new object of class '<em>Top Layer Operator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @return a new object of class '<em>Top Layer Operator</em>'.
-	 * @generated
-	 */
-	public TopLayerOperator createTopLayerOperator(LayersContainer parent, LayersStack owningStack, LayersStackApplication application) throws LayersException;
-
-	/**
-	 * Returns a new object of class '<em>Stacked Layer Operator</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @return a new object of class '<em>Stacked Layer Operator</em>'.
-	 * @generated
-	 */
-	public StackedLayerOperator createStackedLayerOperator(LayersContainer parent, LayersStack owningStack, LayersStackApplication application) throws LayersException;
-
-	/**
-	 * Standard initialization of a newly created layer.
-	 *
-	 * @param layer
-	 * @param parentLayer
-	 * @param owningStack
-	 * @param application
-	 * @return
-	 * @throws LayersException
-	 */
-	public LayerExpression initLayer(LayerExpression layer, LayersContainer parentLayer, LayersStack owningStack, LayersStackApplication application) throws LayersException;
-
-	/**
-	 * Create a LayerOperator by its ID.
-	 * IDs are those used when the LayerOperator is registered in application'registry.
-	 *
-	 * @param layerOperatorID
-	 * @param parent
-	 * @param owningStack
-	 * @param application
-	 * @return
-	 * @throws LayersException
-	 */
-	public AbstractLayerOperator createLayerOperator(String layerOperatorID, LayersContainer parent, LayersStack owningStack, LayersStackApplication application) throws LayersException;
-
-
-} // LayersFactory
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersPackage.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersPackage.java
index 6fbdcef..8847277 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersPackage.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersPackage.java
@@ -124,7 +124,7 @@
 	 * @generated NOT
 	 * @ordered
 	 */
-	int LAYER_NAMED_STYLE_OPERATION_COUNT = /* NotationPackage.NAMED_STYLE_OPERATION_COUNT + */0;
+	int LAYER_NAMED_STYLE_OPERATION_COUNT = /* NotationPackage.NAMED_STYLE_OPERATION_COUNT + */ 0;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersContainer <em>Container</em>}' class.
@@ -134,7 +134,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayersContainer()
 	 * @generated
 	 */
-	int LAYERS_CONTAINER = 26;
+	int LAYERS_CONTAINER = 24;
 
 	/**
 	 * The number of structural features of the '<em>Container</em>' class.
@@ -252,7 +252,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAYERS_STACK___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = LAYERS_CONTAINER_OPERATION_COUNT + 1;
+	int LAYERS_STACK___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST = LAYERS_CONTAINER_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Get Views Compute Property Value Command</em>' operation.
@@ -261,7 +261,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = LAYERS_CONTAINER_OPERATION_COUNT + 2;
+	int LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY = LAYERS_CONTAINER_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Start After Creation</em>' operation.
@@ -470,7 +470,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 1;
+	int LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Get Properties Compute Property Value Command</em>' operation.
@@ -479,7 +479,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 2;
+	int LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Attach To Layers Stack</em>' operation.
@@ -911,22 +911,13 @@
 	int TYPE = 9;
 
 	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__METAMODEL = FOLDER_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int TYPE__NAME = FOLDER_ELEMENT_FEATURE_COUNT + 1;
+	int TYPE__NAME = FOLDER_ELEMENT_FEATURE_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' attribute.
@@ -935,7 +926,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TYPE__DESCRIPTION = FOLDER_ELEMENT_FEATURE_COUNT + 2;
+	int TYPE__DESCRIPTION = FOLDER_ELEMENT_FEATURE_COUNT + 1;
 
 	/**
 	 * The number of structural features of the '<em>Type</em>' class.
@@ -944,7 +935,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TYPE_FEATURE_COUNT = FOLDER_ELEMENT_FEATURE_COUNT + 3;
+	int TYPE_FEATURE_COUNT = FOLDER_ELEMENT_FEATURE_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Create Instance</em>' operation.
@@ -965,97 +956,6 @@
 	int TYPE_OPERATION_COUNT = FOLDER_ELEMENT_OPERATION_COUNT + 1;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.MetamodelImpl <em>Metamodel</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.MetamodelImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getMetamodel()
-	 * @generated
-	 */
-	int METAMODEL = 10;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METAMODEL__NAME = FOLDER_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METAMODEL__DESCRIPTION = FOLDER_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Nsuri</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METAMODEL__NSURI = FOLDER_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Plugin ID</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METAMODEL__PLUGIN_ID = FOLDER_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>EPackage Instance Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METAMODEL__EPACKAGE_INSTANCE_NAME = FOLDER_ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Is Type Valid</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METAMODEL__IS_TYPE_VALID = FOLDER_ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The number of structural features of the '<em>Metamodel</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METAMODEL_FEATURE_COUNT = FOLDER_ELEMENT_FEATURE_COUNT + 6;
-
-	/**
-	 * The operation id for the '<em>Get EPackage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METAMODEL___GET_EPACKAGE = FOLDER_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The number of operations of the '<em>Metamodel</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int METAMODEL_OPERATION_COUNT = FOLDER_ELEMENT_OPERATION_COUNT + 1;
-
-	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand <em>Compute Property Value Command Itf</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1063,7 +963,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getComputePropertyValueCommandItf()
 	 * @generated
 	 */
-	int COMPUTE_PROPERTY_VALUE_COMMAND_ITF = 12;
+	int COMPUTE_PROPERTY_VALUE_COMMAND_ITF = 11;
 
 	/**
 	 * The number of structural features of the '<em>Compute Property Value Command Itf</em>' class.
@@ -1100,7 +1000,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getTypeInstance()
 	 * @generated
 	 */
-	int TYPE_INSTANCE = 11;
+	int TYPE_INSTANCE = 10;
 
 	/**
 	 * The number of structural features of the '<em>Type Instance</em>' class.
@@ -1155,7 +1055,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getTypeRegistry()
 	 * @generated
 	 */
-	int TYPE_REGISTRY = 13;
+	int TYPE_REGISTRY = 12;
 
 	/**
 	 * The feature id for the '<em><b>Types</b></em>' map.
@@ -1192,7 +1092,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStringToTypeMap()
 	 * @generated
 	 */
-	int STRING_TO_TYPE_MAP = 14;
+	int STRING_TO_TYPE_MAP = 13;
 
 	/**
 	 * The feature id for the '<em><b>Value</b></em>' containment reference.
@@ -1238,7 +1138,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayerDescriptorRegistry()
 	 * @generated
 	 */
-	int LAYER_DESCRIPTOR_REGISTRY = 15;
+	int LAYER_DESCRIPTOR_REGISTRY = 14;
 
 	/**
 	 * The feature id for the '<em><b>Layer Descriptors</b></em>' containment reference list.
@@ -1275,7 +1175,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayerDescriptor()
 	 * @generated
 	 */
-	int LAYER_DESCRIPTOR = 16;
+	int LAYER_DESCRIPTOR = 15;
 
 	/**
 	 * The feature id for the '<em><b>Property Registry</b></em>' reference.
@@ -1312,7 +1212,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayerApplicationFactory()
 	 * @generated
 	 */
-	int LAYER_APPLICATION_FACTORY = 17;
+	int LAYER_APPLICATION_FACTORY = 16;
 
 	/**
 	 * The feature id for the '<em><b>Application</b></em>' container reference.
@@ -1349,7 +1249,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getPropertySetterRegistry()
 	 * @generated
 	 */
-	int PROPERTY_SETTER_REGISTRY = 18;
+	int PROPERTY_SETTER_REGISTRY = 17;
 
 	/**
 	 * The feature id for the '<em><b>Property Setters</b></em>' reference list.
@@ -1431,7 +1331,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getPropertySetter()
 	 * @generated
 	 */
-	int PROPERTY_SETTER = 19;
+	int PROPERTY_SETTER = 18;
 
 	/**
 	 * The feature id for the '<em><b>Property</b></em>' reference.
@@ -1486,7 +1386,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStringToPropertySetter()
 	 * @generated
 	 */
-	int STRING_TO_PROPERTY_SETTER = 20;
+	int STRING_TO_PROPERTY_SETTER = 19;
 
 	/**
 	 * The feature id for the '<em><b>Key</b></em>' attribute.
@@ -1532,7 +1432,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayerOperatorDescriptorRegistry()
 	 * @generated
 	 */
-	int LAYER_OPERATOR_DESCRIPTOR_REGISTRY = 21;
+	int LAYER_OPERATOR_DESCRIPTOR_REGISTRY = 20;
 
 	/**
 	 * The feature id for the '<em><b>Descriptors</b></em>' containment reference list.
@@ -1650,7 +1550,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayerOperatorDescriptor()
 	 * @generated
 	 */
-	int LAYER_OPERATOR_DESCRIPTOR = 22;
+	int LAYER_OPERATOR_DESCRIPTOR = 21;
 
 	/**
 	 * The feature id for the '<em><b>Property Operators</b></em>' reference list.
@@ -1713,7 +1613,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR = 3;
+	int LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_PROPERTYOPERATOR = 3;
 
 	/**
 	 * The number of operations of the '<em>Layer Operator Descriptor</em>' class.
@@ -1732,7 +1632,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getPropertyOperator()
 	 * @generated
 	 */
-	int PROPERTY_OPERATOR = 23;
+	int PROPERTY_OPERATOR = 22;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1744,13 +1644,40 @@
 	int PROPERTY_OPERATOR__NAME = 0;
 
 	/**
+	 * The feature id for the '<em><b>Classname</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_OPERATOR__CLASSNAME = 1;
+
+	/**
+	 * The feature id for the '<em><b>Operator Instance</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_OPERATOR__OPERATOR_INSTANCE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Class Bundle ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_OPERATOR__CLASS_BUNDLE_ID = 3;
+
+	/**
 	 * The number of structural features of the '<em>Property Operator</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY_OPERATOR_FEATURE_COUNT = 1;
+	int PROPERTY_OPERATOR_FEATURE_COUNT = 4;
 
 	/**
 	 * The operation id for the '<em>Get Compute Property Value Command</em>' operation.
@@ -1759,7 +1686,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST = 0;
+	int PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__LIST = 0;
+
+	/**
+	 * The operation id for the '<em>Reset Operator Instance</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_OPERATOR___RESET_OPERATOR_INSTANCE = 1;
 
 	/**
 	 * The number of operations of the '<em>Property Operator</em>' class.
@@ -1768,7 +1704,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY_OPERATOR_OPERATION_COUNT = 1;
+	int PROPERTY_OPERATOR_OPERATION_COUNT = 2;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorImpl <em>Layer Operator</em>}' class.
@@ -1778,7 +1714,286 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayerOperator()
 	 * @generated
 	 */
-	int LAYER_OPERATOR = 25;
+	int LAYER_OPERATOR = 23;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerImpl <em>Abstract Layer</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getAbstractLayer()
+	 * @generated
+	 */
+	int ABSTRACT_LAYER = 25;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToTypeInstanceMapImpl <em>String To Type Instance Map</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToTypeInstanceMapImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStringToTypeInstanceMap()
+	 * @generated
+	 */
+	int STRING_TO_TYPE_INSTANCE_MAP = 26;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FolderImpl <em>Folder</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FolderImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFolder()
+	 * @generated
+	 */
+	int FOLDER = 27;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.MetamodelImpl <em>Metamodel</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.MetamodelImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getMetamodel()
+	 * @generated
+	 */
+	int METAMODEL = 28;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorImpl <em>Top Layer Operator</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getTopLayerOperator()
+	 * @generated
+	 */
+	int TOP_LAYER_OPERATOR = 29;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StackedLayerOperatorImpl <em>Stacked Layer Operator</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StackedLayerOperatorImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStackedLayerOperator()
+	 * @generated
+	 */
+	int STACKED_LAYER_OPERATOR = 30;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyIndexImpl <em>Property Index</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyIndexImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getPropertyIndex()
+	 * @generated
+	 */
+	int PROPERTY_INDEX = 31;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToPropertyIndexMapImpl <em>String To Property Index Map</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToPropertyIndexMapImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStringToPropertyIndexMap()
+	 * @generated
+	 */
+	int STRING_TO_PROPERTY_INDEX_MAP = 32;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.SimpleLayerDescriptorImpl <em>Simple Layer Descriptor</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.SimpleLayerDescriptorImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getSimpleLayerDescriptor()
+	 * @generated
+	 */
+	int SIMPLE_LAYER_DESCRIPTOR = 33;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullInstanceImpl <em>Null Instance</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullInstanceImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getNullInstance()
+	 * @generated
+	 */
+	int NULL_INSTANCE = 34;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerImpl <em>Layer</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayer()
+	 * @generated
+	 */
+	int LAYER = 35;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullPropertySetterImpl <em>Null Property Setter</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullPropertySetterImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getNullPropertySetter()
+	 * @generated
+	 */
+	int NULL_PROPERTY_SETTER = 36;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorDescriptorImpl <em>Top Layer Operator Descriptor</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorDescriptorImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getTopLayerOperatorDescriptor()
+	 * @generated
+	 */
+	int TOP_LAYER_OPERATOR_DESCRIPTOR = 37;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StackedLayerOperatorDescriptorImpl <em>Stacked Layer Operator Descriptor</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StackedLayerOperatorDescriptorImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStackedLayerOperatorDescriptor()
+	 * @generated
+	 */
+	int STACKED_LAYER_OPERATOR_DESCRIPTOR = 38;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AllViewsDerivedLayerImpl <em>All Views Derived Layer</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AllViewsDerivedLayerImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getAllViewsDerivedLayer()
+	 * @generated
+	 */
+	int ALL_VIEWS_DERIVED_LAYER = 39;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSPropertySetterImpl <em>CSS Property Setter</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSPropertySetterImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSPropertySetter()
+	 * @generated
+	 */
+	int CSS_PROPERTY_SETTER = 40;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSTypeImpl <em>CSS Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSTypeImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSType()
+	 * @generated
+	 */
+	int CSS_TYPE = 41;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSInstanceImpl <em>CSS Instance</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSInstanceImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSInstance()
+	 * @generated
+	 */
+	int CSS_INSTANCE = 42;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHidePropertySetterImpl <em>CSS Hide Property Setter</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHidePropertySetterImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSHidePropertySetter()
+	 * @generated
+	 */
+	int CSS_HIDE_PROPERTY_SETTER = 43;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideTypeImpl <em>CSS Hide Type</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideTypeImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSHideType()
+	 * @generated
+	 */
+	int CSS_HIDE_TYPE = 44;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideInstanceImpl <em>CSS Hide Instance</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideInstanceImpl
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSHideInstance()
+	 * @generated
+	 */
+	int CSS_HIDE_INSTANCE = 45;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerState <em>Layer State</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerState
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayerState()
+	 * @generated
+	 */
+	int LAYER_STATE = 46;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel <em>Event Level</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getEventLevel()
+	 * @generated
+	 */
+	int EVENT_LEVEL = 47;
+
+	/**
+	 * The meta object id for the '<em>String</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see java.lang.String
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getString()
+	 * @generated
+	 */
+	int STRING = 48;
+
+	/**
+	 * The meta object id for the '<em>Exception</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayersException()
+	 * @generated
+	 */
+	int LAYERS_EXCEPTION = 49;
+
+	/**
+	 * The meta object id for the '<em>int</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getint()
+	 * @generated
+	 */
+	int INT = 50;
+
+	/**
+	 * The meta object id for the '<em>Bad State Exception</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.BadStateException
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getBadStateException()
+	 * @generated
+	 */
+	int BAD_STATE_EXCEPTION = 51;
+
+	/**
+	 * The meta object id for the '<em>Not Found Exception</em>' data type.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getNotFoundException()
+	 * @generated
+	 */
+	int NOT_FOUND_EXCEPTION = 52;
 
 	/**
 	 * The feature id for the '<em><b>Application</b></em>' reference.
@@ -1862,13 +2077,31 @@
 	int LAYER_OPERATOR__LAYERS = LAYER_EXPRESSION_FEATURE_COUNT + 0;
 
 	/**
+	 * The feature id for the '<em><b>Layer Operator Descriptor Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME = LAYER_EXPRESSION_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Layer Operator Descriptor</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR = LAYER_EXPRESSION_FEATURE_COUNT + 2;
+
+	/**
 	 * The number of structural features of the '<em>Layer Operator</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LAYER_OPERATOR_FEATURE_COUNT = LAYER_EXPRESSION_FEATURE_COUNT + 1;
+	int LAYER_OPERATOR_FEATURE_COUNT = LAYER_EXPRESSION_FEATURE_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Get Compute Property Value Command</em>' operation.
@@ -1886,7 +2119,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY;
+	int LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY = LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY;
 
 	/**
 	 * The operation id for the '<em>Get Properties Compute Property Value Command</em>' operation.
@@ -1895,7 +2128,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
+	int LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST = LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST;
 
 	/**
 	 * The operation id for the '<em>Attach To Layers Stack</em>' operation.
@@ -1961,230 +2194,13 @@
 	int LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION = LAYER_EXPRESSION_OPERATION_COUNT + 0;
 
 	/**
-	 * The number of operations of the '<em>Layer Operator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LAYER_OPERATOR_OPERATION_COUNT = LAYER_EXPRESSION_OPERATION_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerOperatorImpl <em>Abstract Layer Operator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerOperatorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getAbstractLayerOperator()
-	 * @generated
-	 */
-	int ABSTRACT_LAYER_OPERATOR = 24;
-
-	/**
-	 * The feature id for the '<em><b>Application</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__APPLICATION = LAYER_OPERATOR__APPLICATION;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__NAME = LAYER_OPERATOR__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__DESCRIPTION = LAYER_OPERATOR__DESCRIPTION;
-
-	/**
-	 * The feature id for the '<em><b>Is Layer Enabled Internal</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL = LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL;
-
-	/**
-	 * The feature id for the '<em><b>Is Layer Enabled</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__IS_LAYER_ENABLED = LAYER_OPERATOR__IS_LAYER_ENABLED;
-
-	/**
-	 * The feature id for the '<em><b>Is Branch Enabled</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__IS_BRANCH_ENABLED = LAYER_OPERATOR__IS_BRANCH_ENABLED;
-
-	/**
-	 * The feature id for the '<em><b>Owning Layers Stack</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__OWNING_LAYERS_STACK = LAYER_OPERATOR__OWNING_LAYERS_STACK;
-
-	/**
-	 * The feature id for the '<em><b>State</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__STATE = LAYER_OPERATOR__STATE;
-
-	/**
-	 * The feature id for the '<em><b>Layers</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__LAYERS = LAYER_OPERATOR__LAYERS;
-
-	/**
-	 * The feature id for the '<em><b>Layer Operator Descriptor</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR = LAYER_OPERATOR_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Layer Operator Descriptor Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME = LAYER_OPERATOR_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Abstract Layer Operator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR_FEATURE_COUNT = LAYER_OPERATOR_FEATURE_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Get Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY = LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Get Views Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Get Properties Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
-
-	/**
-	 * The operation id for the '<em>Attach To Layers Stack</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
-
-	/**
-	 * The operation id for the '<em>Get Layers Stack</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR___GET_LAYERS_STACK = LAYER_OPERATOR___GET_LAYERS_STACK;
-
-	/**
-	 * The operation id for the '<em>Enter Attached State</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR___ENTER_ATTACHED_STATE = LAYER_OPERATOR___ENTER_ATTACHED_STATE;
-
-	/**
-	 * The operation id for the '<em>Attach</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR___ATTACH = LAYER_OPERATOR___ATTACH;
-
-	/**
-	 * The operation id for the '<em>Detach</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR___DETACH = LAYER_OPERATOR___DETACH;
-
-	/**
-	 * The operation id for the '<em>Exit Attached State</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR___EXIT_ATTACHED_STATE = LAYER_OPERATOR___EXIT_ATTACHED_STATE;
-
-	/**
-	 * The operation id for the '<em>Add Layer</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACT_LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION = LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION;
-
-	/**
 	 * The operation id for the '<em>Is Descriptor Set</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ABSTRACT_LAYER_OPERATOR___IS_DESCRIPTOR_SET = LAYER_OPERATOR_OPERATION_COUNT + 0;
+	int LAYER_OPERATOR___IS_DESCRIPTOR_SET = LAYER_EXPRESSION_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Reset Descriptor</em>' operation.
@@ -2193,72 +2209,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ABSTRACT_LAYER_OPERATOR___RESET_DESCRIPTOR = LAYER_OPERATOR_OPERATION_COUNT + 1;
+	int LAYER_OPERATOR___RESET_DESCRIPTOR = LAYER_EXPRESSION_OPERATION_COUNT + 2;
 
 	/**
-	 * The number of operations of the '<em>Abstract Layer Operator</em>' class.
+	 * The number of operations of the '<em>Layer Operator</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ABSTRACT_LAYER_OPERATOR_OPERATION_COUNT = LAYER_OPERATOR_OPERATION_COUNT + 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.DefaultPropertyOperatorImpl <em>Default Property Operator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.DefaultPropertyOperatorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getDefaultPropertyOperator()
-	 * @generated
-	 */
-	int DEFAULT_PROPERTY_OPERATOR = 27;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFAULT_PROPERTY_OPERATOR__NAME = PROPERTY_OPERATOR__NAME;
-
-	/**
-	 * The number of structural features of the '<em>Default Property Operator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFAULT_PROPERTY_OPERATOR_FEATURE_COUNT = PROPERTY_OPERATOR_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Get Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFAULT_PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST = PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST;
-
-	/**
-	 * The number of operations of the '<em>Default Property Operator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEFAULT_PROPERTY_OPERATOR_OPERATION_COUNT = PROPERTY_OPERATOR_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerImpl <em>Abstract Layer</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getAbstractLayer()
-	 * @generated
-	 */
-	int ABSTRACT_LAYER = 28;
+	int LAYER_OPERATOR_OPERATION_COUNT = LAYER_EXPRESSION_OPERATION_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>Application</b></em>' reference.
@@ -2402,7 +2362,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ABSTRACT_LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY;
+	int ABSTRACT_LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY = LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY;
 
 	/**
 	 * The operation id for the '<em>Get Properties Compute Property Value Command</em>' operation.
@@ -2411,7 +2371,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
+	int ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST = LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST;
 
 	/**
 	 * The operation id for the '<em>Attach To Layers Stack</em>' operation.
@@ -2513,16 +2473,6 @@
 	int ABSTRACT_LAYER_OPERATION_COUNT = LAYER_EXPRESSION_OPERATION_COUNT + 4;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToTypeInstanceMapImpl <em>String To Type Instance Map</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToTypeInstanceMapImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStringToTypeInstanceMap()
-	 * @generated
-	 */
-	int STRING_TO_TYPE_INSTANCE_MAP = 29;
-
-	/**
 	 * The feature id for the '<em><b>Key</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2559,16 +2509,6 @@
 	int STRING_TO_TYPE_INSTANCE_MAP_OPERATION_COUNT = 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FolderImpl <em>Folder</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FolderImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFolder()
-	 * @generated
-	 */
-	int FOLDER = 30;
-
-	/**
 	 * The feature id for the '<em><b>Elements</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2605,224 +2545,13 @@
 	int FOLDER_OPERATION_COUNT = FOLDER_ELEMENT_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IntInstanceImpl <em>Int Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IntInstanceImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getIntInstance()
-	 * @generated
-	 */
-	int INT_INSTANCE = 31;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INT_INSTANCE__VALUE = TYPE_INSTANCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Int Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INT_INSTANCE_FEATURE_COUNT = TYPE_INSTANCE_FEATURE_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Get Cmd Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INT_INSTANCE___GET_CMD_VALUE = TYPE_INSTANCE___GET_CMD_VALUE;
-
-	/**
-	 * The operation id for the '<em>Set Value From String</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INT_INSTANCE___SET_VALUE_FROM_STRING__STRING = TYPE_INSTANCE___SET_VALUE_FROM_STRING__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value From Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INT_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE = TYPE_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Int Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INT_INSTANCE_OPERATION_COUNT = TYPE_INSTANCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.BooleanInstanceImpl <em>Boolean Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.BooleanInstanceImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getBooleanInstance()
-	 * @generated
-	 */
-	int BOOLEAN_INSTANCE = 32;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BOOLEAN_INSTANCE__VALUE = TYPE_INSTANCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Boolean Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BOOLEAN_INSTANCE_FEATURE_COUNT = TYPE_INSTANCE_FEATURE_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Get Cmd Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BOOLEAN_INSTANCE___GET_CMD_VALUE = TYPE_INSTANCE___GET_CMD_VALUE;
-
-	/**
-	 * The operation id for the '<em>Set Value From String</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BOOLEAN_INSTANCE___SET_VALUE_FROM_STRING__STRING = TYPE_INSTANCE___SET_VALUE_FROM_STRING__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value From Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BOOLEAN_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE = TYPE_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Boolean Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BOOLEAN_INSTANCE_OPERATION_COUNT = TYPE_INSTANCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringInstanceImpl <em>String Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringInstanceImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStringInstance()
-	 * @generated
-	 */
-	int STRING_INSTANCE = 33;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_INSTANCE__VALUE = TYPE_INSTANCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>String Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_INSTANCE_FEATURE_COUNT = TYPE_INSTANCE_FEATURE_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Get Cmd Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_INSTANCE___GET_CMD_VALUE = TYPE_INSTANCE___GET_CMD_VALUE;
-
-	/**
-	 * The operation id for the '<em>Set Value From String</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_INSTANCE___SET_VALUE_FROM_STRING__STRING = TYPE_INSTANCE___SET_VALUE_FROM_STRING__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value From Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE = TYPE_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>String Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_INSTANCE_OPERATION_COUNT = TYPE_INSTANCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IntTypeImpl <em>Int Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IntTypeImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getIntType()
-	 * @generated
-	 */
-	int INT_TYPE = 34;
-
-	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INT_TYPE__METAMODEL = TYPE__METAMODEL;
-
-	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INT_TYPE__NAME = TYPE__NAME;
+	int METAMODEL__NAME = FOLDER_ELEMENT_FEATURE_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' attribute.
@@ -2831,245 +2560,70 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INT_TYPE__DESCRIPTION = TYPE__DESCRIPTION;
+	int METAMODEL__DESCRIPTION = FOLDER_ELEMENT_FEATURE_COUNT + 1;
 
 	/**
-	 * The number of structural features of the '<em>Int Type</em>' class.
+	 * The feature id for the '<em><b>Nsuri</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INT_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 0;
+	int METAMODEL__NSURI = FOLDER_ELEMENT_FEATURE_COUNT + 2;
 
 	/**
-	 * The operation id for the '<em>Create Instance</em>' operation.
+	 * The feature id for the '<em><b>Plugin ID</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INT_TYPE___CREATE_INSTANCE = TYPE___CREATE_INSTANCE;
+	int METAMODEL__PLUGIN_ID = FOLDER_ELEMENT_FEATURE_COUNT + 3;
 
 	/**
-	 * The number of operations of the '<em>Int Type</em>' class.
+	 * The feature id for the '<em><b>EPackage Instance Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INT_TYPE_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
+	int METAMODEL__EPACKAGE_INSTANCE_NAME = FOLDER_ELEMENT_FEATURE_COUNT + 4;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.BooleanTypeImpl <em>Boolean Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.BooleanTypeImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getBooleanType()
-	 * @generated
-	 */
-	int BOOLEAN_TYPE = 35;
-
-	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
+	 * The feature id for the '<em><b>Is Type Valid</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int BOOLEAN_TYPE__METAMODEL = TYPE__METAMODEL;
+	int METAMODEL__IS_TYPE_VALID = FOLDER_ELEMENT_FEATURE_COUNT + 5;
 
 	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * The number of structural features of the '<em>Metamodel</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int BOOLEAN_TYPE__NAME = TYPE__NAME;
+	int METAMODEL_FEATURE_COUNT = FOLDER_ELEMENT_FEATURE_COUNT + 6;
 
 	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
+	 * The operation id for the '<em>Get EPackage</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int BOOLEAN_TYPE__DESCRIPTION = TYPE__DESCRIPTION;
+	int METAMODEL___GET_EPACKAGE = FOLDER_ELEMENT_OPERATION_COUNT + 0;
 
 	/**
-	 * The number of structural features of the '<em>Boolean Type</em>' class.
+	 * The number of operations of the '<em>Metamodel</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int BOOLEAN_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Create Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BOOLEAN_TYPE___CREATE_INSTANCE = TYPE___CREATE_INSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Boolean Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BOOLEAN_TYPE_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringTypeImpl <em>String Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringTypeImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStringType()
-	 * @generated
-	 */
-	int STRING_TYPE = 36;
-
-	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_TYPE__METAMODEL = TYPE__METAMODEL;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_TYPE__NAME = TYPE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_TYPE__DESCRIPTION = TYPE__DESCRIPTION;
-
-	/**
-	 * The number of structural features of the '<em>String Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Create Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_TYPE___CREATE_INSTANCE = TYPE___CREATE_INSTANCE;
-
-	/**
-	 * The number of operations of the '<em>String Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_TYPE_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomTypeImpl <em>Custom Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomTypeImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCustomType()
-	 * @generated
-	 */
-	int CUSTOM_TYPE = 37;
-
-	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_TYPE__METAMODEL = TYPE__METAMODEL;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_TYPE__NAME = TYPE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_TYPE__DESCRIPTION = TYPE__DESCRIPTION;
-
-	/**
-	 * The feature id for the '<em><b>Classifier</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_TYPE__CLASSIFIER = TYPE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Custom Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Create Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_TYPE___CREATE_INSTANCE = TYPE___CREATE_INSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Custom Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_TYPE_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorImpl <em>Top Layer Operator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getTopLayerOperator()
-	 * @generated
-	 */
-	int TOP_LAYER_OPERATOR = 38;
+	int METAMODEL_OPERATION_COUNT = FOLDER_ELEMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>Application</b></em>' reference.
@@ -3078,7 +2632,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR__APPLICATION = ABSTRACT_LAYER_OPERATOR__APPLICATION;
+	int TOP_LAYER_OPERATOR__APPLICATION = LAYER_OPERATOR__APPLICATION;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -3087,7 +2641,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR__NAME = ABSTRACT_LAYER_OPERATOR__NAME;
+	int TOP_LAYER_OPERATOR__NAME = LAYER_OPERATOR__NAME;
 
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' attribute.
@@ -3096,7 +2650,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR__DESCRIPTION = ABSTRACT_LAYER_OPERATOR__DESCRIPTION;
+	int TOP_LAYER_OPERATOR__DESCRIPTION = LAYER_OPERATOR__DESCRIPTION;
 
 	/**
 	 * The feature id for the '<em><b>Is Layer Enabled Internal</b></em>' attribute.
@@ -3105,7 +2659,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL = ABSTRACT_LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL;
+	int TOP_LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL = LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL;
 
 	/**
 	 * The feature id for the '<em><b>Is Layer Enabled</b></em>' attribute.
@@ -3114,7 +2668,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR__IS_LAYER_ENABLED = ABSTRACT_LAYER_OPERATOR__IS_LAYER_ENABLED;
+	int TOP_LAYER_OPERATOR__IS_LAYER_ENABLED = LAYER_OPERATOR__IS_LAYER_ENABLED;
 
 	/**
 	 * The feature id for the '<em><b>Is Branch Enabled</b></em>' attribute.
@@ -3123,7 +2677,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR__IS_BRANCH_ENABLED = ABSTRACT_LAYER_OPERATOR__IS_BRANCH_ENABLED;
+	int TOP_LAYER_OPERATOR__IS_BRANCH_ENABLED = LAYER_OPERATOR__IS_BRANCH_ENABLED;
 
 	/**
 	 * The feature id for the '<em><b>Owning Layers Stack</b></em>' reference.
@@ -3132,7 +2686,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR__OWNING_LAYERS_STACK = ABSTRACT_LAYER_OPERATOR__OWNING_LAYERS_STACK;
+	int TOP_LAYER_OPERATOR__OWNING_LAYERS_STACK = LAYER_OPERATOR__OWNING_LAYERS_STACK;
 
 	/**
 	 * The feature id for the '<em><b>State</b></em>' attribute.
@@ -3141,7 +2695,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR__STATE = ABSTRACT_LAYER_OPERATOR__STATE;
+	int TOP_LAYER_OPERATOR__STATE = LAYER_OPERATOR__STATE;
 
 	/**
 	 * The feature id for the '<em><b>Layers</b></em>' containment reference list.
@@ -3150,16 +2704,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR__LAYERS = ABSTRACT_LAYER_OPERATOR__LAYERS;
-
-	/**
-	 * The feature id for the '<em><b>Layer Operator Descriptor</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TOP_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR = ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR;
+	int TOP_LAYER_OPERATOR__LAYERS = LAYER_OPERATOR__LAYERS;
 
 	/**
 	 * The feature id for the '<em><b>Layer Operator Descriptor Name</b></em>' attribute.
@@ -3168,7 +2713,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME = ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME;
+	int TOP_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME = LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Layer Operator Descriptor</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TOP_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR = LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR;
 
 	/**
 	 * The number of structural features of the '<em>Top Layer Operator</em>' class.
@@ -3177,7 +2731,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR_FEATURE_COUNT = ABSTRACT_LAYER_OPERATOR_FEATURE_COUNT + 0;
+	int TOP_LAYER_OPERATOR_FEATURE_COUNT = LAYER_OPERATOR_FEATURE_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Get Compute Property Value Command</em>' operation.
@@ -3186,7 +2740,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY = ABSTRACT_LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY;
+	int TOP_LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY = LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY;
 
 	/**
 	 * The operation id for the '<em>Get Views Compute Property Value Command</em>' operation.
@@ -3195,7 +2749,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = ABSTRACT_LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY;
+	int TOP_LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY = LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY;
 
 	/**
 	 * The operation id for the '<em>Get Properties Compute Property Value Command</em>' operation.
@@ -3204,7 +2758,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = ABSTRACT_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
+	int TOP_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST = LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST;
 
 	/**
 	 * The operation id for the '<em>Attach To Layers Stack</em>' operation.
@@ -3213,7 +2767,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = ABSTRACT_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
+	int TOP_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
 
 	/**
 	 * The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -3222,7 +2776,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___GET_LAYERS_STACK = ABSTRACT_LAYER_OPERATOR___GET_LAYERS_STACK;
+	int TOP_LAYER_OPERATOR___GET_LAYERS_STACK = LAYER_OPERATOR___GET_LAYERS_STACK;
 
 	/**
 	 * The operation id for the '<em>Enter Attached State</em>' operation.
@@ -3231,7 +2785,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___ENTER_ATTACHED_STATE = ABSTRACT_LAYER_OPERATOR___ENTER_ATTACHED_STATE;
+	int TOP_LAYER_OPERATOR___ENTER_ATTACHED_STATE = LAYER_OPERATOR___ENTER_ATTACHED_STATE;
 
 	/**
 	 * The operation id for the '<em>Attach</em>' operation.
@@ -3240,7 +2794,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___ATTACH = ABSTRACT_LAYER_OPERATOR___ATTACH;
+	int TOP_LAYER_OPERATOR___ATTACH = LAYER_OPERATOR___ATTACH;
 
 	/**
 	 * The operation id for the '<em>Detach</em>' operation.
@@ -3249,7 +2803,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___DETACH = ABSTRACT_LAYER_OPERATOR___DETACH;
+	int TOP_LAYER_OPERATOR___DETACH = LAYER_OPERATOR___DETACH;
 
 	/**
 	 * The operation id for the '<em>Exit Attached State</em>' operation.
@@ -3258,7 +2812,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___EXIT_ATTACHED_STATE = ABSTRACT_LAYER_OPERATOR___EXIT_ATTACHED_STATE;
+	int TOP_LAYER_OPERATOR___EXIT_ATTACHED_STATE = LAYER_OPERATOR___EXIT_ATTACHED_STATE;
 
 	/**
 	 * The operation id for the '<em>Add Layer</em>' operation.
@@ -3267,7 +2821,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION = ABSTRACT_LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION;
+	int TOP_LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION = LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION;
 
 	/**
 	 * The operation id for the '<em>Is Descriptor Set</em>' operation.
@@ -3276,7 +2830,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___IS_DESCRIPTOR_SET = ABSTRACT_LAYER_OPERATOR___IS_DESCRIPTOR_SET;
+	int TOP_LAYER_OPERATOR___IS_DESCRIPTOR_SET = LAYER_OPERATOR___IS_DESCRIPTOR_SET;
 
 	/**
 	 * The operation id for the '<em>Reset Descriptor</em>' operation.
@@ -3285,7 +2839,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR___RESET_DESCRIPTOR = ABSTRACT_LAYER_OPERATOR___RESET_DESCRIPTOR;
+	int TOP_LAYER_OPERATOR___RESET_DESCRIPTOR = LAYER_OPERATOR___RESET_DESCRIPTOR;
 
 	/**
 	 * The number of operations of the '<em>Top Layer Operator</em>' class.
@@ -3294,17 +2848,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR_OPERATION_COUNT = ABSTRACT_LAYER_OPERATOR_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StackedLayerOperatorImpl <em>Stacked Layer Operator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StackedLayerOperatorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStackedLayerOperator()
-	 * @generated
-	 */
-	int STACKED_LAYER_OPERATOR = 39;
+	int TOP_LAYER_OPERATOR_OPERATION_COUNT = LAYER_OPERATOR_OPERATION_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>Application</b></em>' reference.
@@ -3313,7 +2857,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR__APPLICATION = ABSTRACT_LAYER_OPERATOR__APPLICATION;
+	int STACKED_LAYER_OPERATOR__APPLICATION = LAYER_OPERATOR__APPLICATION;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -3322,7 +2866,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR__NAME = ABSTRACT_LAYER_OPERATOR__NAME;
+	int STACKED_LAYER_OPERATOR__NAME = LAYER_OPERATOR__NAME;
 
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' attribute.
@@ -3331,7 +2875,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR__DESCRIPTION = ABSTRACT_LAYER_OPERATOR__DESCRIPTION;
+	int STACKED_LAYER_OPERATOR__DESCRIPTION = LAYER_OPERATOR__DESCRIPTION;
 
 	/**
 	 * The feature id for the '<em><b>Is Layer Enabled Internal</b></em>' attribute.
@@ -3340,7 +2884,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL = ABSTRACT_LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL;
+	int STACKED_LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL = LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL;
 
 	/**
 	 * The feature id for the '<em><b>Is Layer Enabled</b></em>' attribute.
@@ -3349,7 +2893,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR__IS_LAYER_ENABLED = ABSTRACT_LAYER_OPERATOR__IS_LAYER_ENABLED;
+	int STACKED_LAYER_OPERATOR__IS_LAYER_ENABLED = LAYER_OPERATOR__IS_LAYER_ENABLED;
 
 	/**
 	 * The feature id for the '<em><b>Is Branch Enabled</b></em>' attribute.
@@ -3358,7 +2902,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR__IS_BRANCH_ENABLED = ABSTRACT_LAYER_OPERATOR__IS_BRANCH_ENABLED;
+	int STACKED_LAYER_OPERATOR__IS_BRANCH_ENABLED = LAYER_OPERATOR__IS_BRANCH_ENABLED;
 
 	/**
 	 * The feature id for the '<em><b>Owning Layers Stack</b></em>' reference.
@@ -3367,7 +2911,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR__OWNING_LAYERS_STACK = ABSTRACT_LAYER_OPERATOR__OWNING_LAYERS_STACK;
+	int STACKED_LAYER_OPERATOR__OWNING_LAYERS_STACK = LAYER_OPERATOR__OWNING_LAYERS_STACK;
 
 	/**
 	 * The feature id for the '<em><b>State</b></em>' attribute.
@@ -3376,7 +2920,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR__STATE = ABSTRACT_LAYER_OPERATOR__STATE;
+	int STACKED_LAYER_OPERATOR__STATE = LAYER_OPERATOR__STATE;
 
 	/**
 	 * The feature id for the '<em><b>Layers</b></em>' containment reference list.
@@ -3385,16 +2929,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR__LAYERS = ABSTRACT_LAYER_OPERATOR__LAYERS;
-
-	/**
-	 * The feature id for the '<em><b>Layer Operator Descriptor</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STACKED_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR = ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR;
+	int STACKED_LAYER_OPERATOR__LAYERS = LAYER_OPERATOR__LAYERS;
 
 	/**
 	 * The feature id for the '<em><b>Layer Operator Descriptor Name</b></em>' attribute.
@@ -3403,7 +2938,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME = ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME;
+	int STACKED_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME = LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Layer Operator Descriptor</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STACKED_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR = LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR;
 
 	/**
 	 * The number of structural features of the '<em>Stacked Layer Operator</em>' class.
@@ -3412,7 +2956,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR_FEATURE_COUNT = ABSTRACT_LAYER_OPERATOR_FEATURE_COUNT + 0;
+	int STACKED_LAYER_OPERATOR_FEATURE_COUNT = LAYER_OPERATOR_FEATURE_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Get Compute Property Value Command</em>' operation.
@@ -3421,7 +2965,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY = ABSTRACT_LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY;
+	int STACKED_LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY = LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY;
 
 	/**
 	 * The operation id for the '<em>Get Views Compute Property Value Command</em>' operation.
@@ -3430,7 +2974,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = ABSTRACT_LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY;
+	int STACKED_LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY = LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY;
 
 	/**
 	 * The operation id for the '<em>Get Properties Compute Property Value Command</em>' operation.
@@ -3439,7 +2983,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = ABSTRACT_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
+	int STACKED_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST = LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST;
 
 	/**
 	 * The operation id for the '<em>Attach To Layers Stack</em>' operation.
@@ -3448,7 +2992,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = ABSTRACT_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
+	int STACKED_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
 
 	/**
 	 * The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -3457,7 +3001,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___GET_LAYERS_STACK = ABSTRACT_LAYER_OPERATOR___GET_LAYERS_STACK;
+	int STACKED_LAYER_OPERATOR___GET_LAYERS_STACK = LAYER_OPERATOR___GET_LAYERS_STACK;
 
 	/**
 	 * The operation id for the '<em>Enter Attached State</em>' operation.
@@ -3466,7 +3010,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___ENTER_ATTACHED_STATE = ABSTRACT_LAYER_OPERATOR___ENTER_ATTACHED_STATE;
+	int STACKED_LAYER_OPERATOR___ENTER_ATTACHED_STATE = LAYER_OPERATOR___ENTER_ATTACHED_STATE;
 
 	/**
 	 * The operation id for the '<em>Attach</em>' operation.
@@ -3475,7 +3019,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___ATTACH = ABSTRACT_LAYER_OPERATOR___ATTACH;
+	int STACKED_LAYER_OPERATOR___ATTACH = LAYER_OPERATOR___ATTACH;
 
 	/**
 	 * The operation id for the '<em>Detach</em>' operation.
@@ -3484,7 +3028,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___DETACH = ABSTRACT_LAYER_OPERATOR___DETACH;
+	int STACKED_LAYER_OPERATOR___DETACH = LAYER_OPERATOR___DETACH;
 
 	/**
 	 * The operation id for the '<em>Exit Attached State</em>' operation.
@@ -3493,7 +3037,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___EXIT_ATTACHED_STATE = ABSTRACT_LAYER_OPERATOR___EXIT_ATTACHED_STATE;
+	int STACKED_LAYER_OPERATOR___EXIT_ATTACHED_STATE = LAYER_OPERATOR___EXIT_ATTACHED_STATE;
 
 	/**
 	 * The operation id for the '<em>Add Layer</em>' operation.
@@ -3502,7 +3046,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION = ABSTRACT_LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION;
+	int STACKED_LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION = LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION;
 
 	/**
 	 * The operation id for the '<em>Is Descriptor Set</em>' operation.
@@ -3511,7 +3055,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___IS_DESCRIPTOR_SET = ABSTRACT_LAYER_OPERATOR___IS_DESCRIPTOR_SET;
+	int STACKED_LAYER_OPERATOR___IS_DESCRIPTOR_SET = LAYER_OPERATOR___IS_DESCRIPTOR_SET;
 
 	/**
 	 * The operation id for the '<em>Reset Descriptor</em>' operation.
@@ -3520,7 +3064,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR___RESET_DESCRIPTOR = ABSTRACT_LAYER_OPERATOR___RESET_DESCRIPTOR;
+	int STACKED_LAYER_OPERATOR___RESET_DESCRIPTOR = LAYER_OPERATOR___RESET_DESCRIPTOR;
 
 	/**
 	 * The number of operations of the '<em>Stacked Layer Operator</em>' class.
@@ -3529,216 +3073,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR_OPERATION_COUNT = ABSTRACT_LAYER_OPERATOR_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomLayerOperatorImpl <em>Custom Layer Operator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomLayerOperatorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCustomLayerOperator()
-	 * @generated
-	 */
-	int CUSTOM_LAYER_OPERATOR = 40;
-
-	/**
-	 * The feature id for the '<em><b>Application</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR__APPLICATION = LAYER_OPERATOR__APPLICATION;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR__NAME = LAYER_OPERATOR__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR__DESCRIPTION = LAYER_OPERATOR__DESCRIPTION;
-
-	/**
-	 * The feature id for the '<em><b>Is Layer Enabled Internal</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL = LAYER_OPERATOR__IS_LAYER_ENABLED_INTERNAL;
-
-	/**
-	 * The feature id for the '<em><b>Is Layer Enabled</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR__IS_LAYER_ENABLED = LAYER_OPERATOR__IS_LAYER_ENABLED;
-
-	/**
-	 * The feature id for the '<em><b>Is Branch Enabled</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR__IS_BRANCH_ENABLED = LAYER_OPERATOR__IS_BRANCH_ENABLED;
-
-	/**
-	 * The feature id for the '<em><b>Owning Layers Stack</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR__OWNING_LAYERS_STACK = LAYER_OPERATOR__OWNING_LAYERS_STACK;
-
-	/**
-	 * The feature id for the '<em><b>State</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR__STATE = LAYER_OPERATOR__STATE;
-
-	/**
-	 * The feature id for the '<em><b>Layers</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR__LAYERS = LAYER_OPERATOR__LAYERS;
-
-	/**
-	 * The number of structural features of the '<em>Custom Layer Operator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR_FEATURE_COUNT = LAYER_OPERATOR_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Get Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY = LAYER_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Get Views Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = LAYER_OPERATOR___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Get Properties Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
-
-	/**
-	 * The operation id for the '<em>Attach To Layers Stack</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
-
-	/**
-	 * The operation id for the '<em>Get Layers Stack</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR___GET_LAYERS_STACK = LAYER_OPERATOR___GET_LAYERS_STACK;
-
-	/**
-	 * The operation id for the '<em>Enter Attached State</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR___ENTER_ATTACHED_STATE = LAYER_OPERATOR___ENTER_ATTACHED_STATE;
-
-	/**
-	 * The operation id for the '<em>Attach</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR___ATTACH = LAYER_OPERATOR___ATTACH;
-
-	/**
-	 * The operation id for the '<em>Detach</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR___DETACH = LAYER_OPERATOR___DETACH;
-
-	/**
-	 * The operation id for the '<em>Exit Attached State</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR___EXIT_ATTACHED_STATE = LAYER_OPERATOR___EXIT_ATTACHED_STATE;
-
-	/**
-	 * The operation id for the '<em>Add Layer</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION = LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION;
-
-	/**
-	 * The number of operations of the '<em>Custom Layer Operator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_LAYER_OPERATOR_OPERATION_COUNT = LAYER_OPERATOR_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyIndexImpl <em>Property Index</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyIndexImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getPropertyIndex()
-	 * @generated
-	 */
-	int PROPERTY_INDEX = 41;
+	int STACKED_LAYER_OPERATOR_OPERATION_COUNT = LAYER_OPERATOR_OPERATION_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>Property</b></em>' reference.
@@ -3777,16 +3112,6 @@
 	int PROPERTY_INDEX_OPERATION_COUNT = 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToPropertyIndexMapImpl <em>String To Property Index Map</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToPropertyIndexMapImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStringToPropertyIndexMap()
-	 * @generated
-	 */
-	int STRING_TO_PROPERTY_INDEX_MAP = 42;
-
-	/**
 	 * The feature id for the '<em><b>Value</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3823,16 +3148,6 @@
 	int STRING_TO_PROPERTY_INDEX_MAP_OPERATION_COUNT = 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.SimpleLayerDescriptorImpl <em>Simple Layer Descriptor</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.SimpleLayerDescriptorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getSimpleLayerDescriptor()
-	 * @generated
-	 */
-	int SIMPLE_LAYER_DESCRIPTOR = 43;
-
-	/**
 	 * The feature id for the '<em><b>Property Registry</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3860,53 +3175,6 @@
 	int SIMPLE_LAYER_DESCRIPTOR_OPERATION_COUNT = LAYER_DESCRIPTOR_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerDescriptorImpl <em>Reg Exp Layer Descriptor</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerDescriptorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getRegExpLayerDescriptor()
-	 * @generated
-	 */
-	int REG_EXP_LAYER_DESCRIPTOR = 44;
-
-	/**
-	 * The feature id for the '<em><b>Property Registry</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER_DESCRIPTOR__PROPERTY_REGISTRY = LAYER_DESCRIPTOR__PROPERTY_REGISTRY;
-
-	/**
-	 * The number of structural features of the '<em>Reg Exp Layer Descriptor</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER_DESCRIPTOR_FEATURE_COUNT = LAYER_DESCRIPTOR_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of operations of the '<em>Reg Exp Layer Descriptor</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER_DESCRIPTOR_OPERATION_COUNT = LAYER_DESCRIPTOR_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullInstanceImpl <em>Null Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullInstanceImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getNullInstance()
-	 * @generated
-	 */
-	int NULL_INSTANCE = 45;
-
-	/**
 	 * The number of structural features of the '<em>Null Instance</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3961,404 +3229,6 @@
 	int NULL_INSTANCE_OPERATION_COUNT = TYPE_INSTANCE_OPERATION_COUNT + 1;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl <em>Reg Exp Layer</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getRegExpLayer()
-	 * @generated
-	 */
-	int REG_EXP_LAYER = 46;
-
-	/**
-	 * The feature id for the '<em><b>Application</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__APPLICATION = ABSTRACT_LAYER__APPLICATION;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__NAME = ABSTRACT_LAYER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__DESCRIPTION = ABSTRACT_LAYER__DESCRIPTION;
-
-	/**
-	 * The feature id for the '<em><b>Is Layer Enabled Internal</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__IS_LAYER_ENABLED_INTERNAL = ABSTRACT_LAYER__IS_LAYER_ENABLED_INTERNAL;
-
-	/**
-	 * The feature id for the '<em><b>Is Layer Enabled</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__IS_LAYER_ENABLED = ABSTRACT_LAYER__IS_LAYER_ENABLED;
-
-	/**
-	 * The feature id for the '<em><b>Is Branch Enabled</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__IS_BRANCH_ENABLED = ABSTRACT_LAYER__IS_BRANCH_ENABLED;
-
-	/**
-	 * The feature id for the '<em><b>Owning Layers Stack</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__OWNING_LAYERS_STACK = ABSTRACT_LAYER__OWNING_LAYERS_STACK;
-
-	/**
-	 * The feature id for the '<em><b>State</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__STATE = ABSTRACT_LAYER__STATE;
-
-	/**
-	 * The feature id for the '<em><b>Property Values</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__PROPERTY_VALUES = ABSTRACT_LAYER__PROPERTY_VALUES;
-
-	/**
-	 * The feature id for the '<em><b>Property Value Map</b></em>' map.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__PROPERTY_VALUE_MAP = ABSTRACT_LAYER__PROPERTY_VALUE_MAP;
-
-	/**
-	 * The feature id for the '<em><b>Layer Descriptor</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__LAYER_DESCRIPTOR = ABSTRACT_LAYER__LAYER_DESCRIPTOR;
-
-	/**
-	 * The feature id for the '<em><b>Views</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__VIEWS = ABSTRACT_LAYER__VIEWS;
-
-	/**
-	 * The feature id for the '<em><b>Attached Properties</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__ATTACHED_PROPERTIES = ABSTRACT_LAYER__ATTACHED_PROPERTIES;
-
-	/**
-	 * The feature id for the '<em><b>Expr</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__EXPR = ABSTRACT_LAYER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Language</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__LANGUAGE = ABSTRACT_LAYER_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Is Domain Changed Event Dependant</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT = ABSTRACT_LAYER_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Domain Changed Event Level</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL = ABSTRACT_LAYER_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Is Diagram Changed Event Dependant</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT = ABSTRACT_LAYER_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Diagram Changed Event Level</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL = ABSTRACT_LAYER_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Expression Context Object Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE = ABSTRACT_LAYER_FEATURE_COUNT + 6;
-
-	/**
-	 * The number of structural features of the '<em>Reg Exp Layer</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER_FEATURE_COUNT = ABSTRACT_LAYER_FEATURE_COUNT + 7;
-
-	/**
-	 * The operation id for the '<em>Get Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY = ABSTRACT_LAYER___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Get Views Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = ABSTRACT_LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Get Properties Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
-
-	/**
-	 * The operation id for the '<em>Attach To Layers Stack</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = ABSTRACT_LAYER___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
-
-	/**
-	 * The operation id for the '<em>Get Layers Stack</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___GET_LAYERS_STACK = ABSTRACT_LAYER___GET_LAYERS_STACK;
-
-	/**
-	 * The operation id for the '<em>Enter Attached State</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___ENTER_ATTACHED_STATE = ABSTRACT_LAYER___ENTER_ATTACHED_STATE;
-
-	/**
-	 * The operation id for the '<em>Attach</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___ATTACH = ABSTRACT_LAYER___ATTACH;
-
-	/**
-	 * The operation id for the '<em>Detach</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___DETACH = ABSTRACT_LAYER___DETACH;
-
-	/**
-	 * The operation id for the '<em>Exit Attached State</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___EXIT_ATTACHED_STATE = ABSTRACT_LAYER___EXIT_ATTACHED_STATE;
-
-	/**
-	 * The operation id for the '<em>Add Property Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___ADD_PROPERTY_INSTANCE__PROPERTY = ABSTRACT_LAYER___ADD_PROPERTY_INSTANCE__PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Remove Property Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___REMOVE_PROPERTY_INSTANCE__PROPERTY = ABSTRACT_LAYER___REMOVE_PROPERTY_INSTANCE__PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Get Property Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___GET_PROPERTY_INSTANCE__PROPERTY = ABSTRACT_LAYER___GET_PROPERTY_INSTANCE__PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Get Property Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___GET_PROPERTY_INSTANCE__STRING = ABSTRACT_LAYER___GET_PROPERTY_INSTANCE__STRING;
-
-	/**
-	 * The operation id for the '<em>Activate</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___ACTIVATE__ABSTRACTLAYEROPERATOR = ABSTRACT_LAYER_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Deactivate</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___DEACTIVATE__ABSTRACTLAYEROPERATOR = ABSTRACT_LAYER_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Is Derived View</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___IS_DERIVED_VIEW__VIEW = ABSTRACT_LAYER_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Attach Derived View</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___ATTACH_DERIVED_VIEW__VIEW = ABSTRACT_LAYER_OPERATION_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Attach Derived Views</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___ATTACH_DERIVED_VIEWS__ELIST = ABSTRACT_LAYER_OPERATION_COUNT + 4;
-
-	/**
-	 * The operation id for the '<em>Attach Derived Views</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___ATTACH_DERIVED_VIEWS = ABSTRACT_LAYER_OPERATION_COUNT + 5;
-
-	/**
-	 * The operation id for the '<em>Lookup Derived Views</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER___LOOKUP_DERIVED_VIEWS__ELIST = ABSTRACT_LAYER_OPERATION_COUNT + 6;
-
-	/**
-	 * The number of operations of the '<em>Reg Exp Layer</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REG_EXP_LAYER_OPERATION_COUNT = ABSTRACT_LAYER_OPERATION_COUNT + 7;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerImpl <em>Layer</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayer()
-	 * @generated
-	 */
-	int LAYER = 47;
-
-	/**
 	 * The feature id for the '<em><b>Application</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4500,7 +3370,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = ABSTRACT_LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY;
+	int LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY = ABSTRACT_LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY;
 
 	/**
 	 * The operation id for the '<em>Get Properties Compute Property Value Command</em>' operation.
@@ -4509,7 +3379,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
+	int LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST = ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST;
 
 	/**
 	 * The operation id for the '<em>Attach To Layers Stack</em>' operation.
@@ -4611,391 +3481,6 @@
 	int LAYER_OPERATION_COUNT = ABSTRACT_LAYER_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.ColorImpl <em>Color</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.ColorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getColor()
-	 * @generated
-	 */
-	int COLOR = 48;
-
-	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR__METAMODEL = TYPE__METAMODEL;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR__NAME = TYPE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR__DESCRIPTION = TYPE__DESCRIPTION;
-
-	/**
-	 * The number of structural features of the '<em>Color</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR_FEATURE_COUNT = TYPE_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Create Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR___CREATE_INSTANCE = TYPE___CREATE_INSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Color</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.ColorInstanceImpl <em>Color Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.ColorInstanceImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getColorInstance()
-	 * @generated
-	 */
-	int COLOR_INSTANCE = 49;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR_INSTANCE__VALUE = TYPE_INSTANCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Color Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR_INSTANCE_FEATURE_COUNT = TYPE_INSTANCE_FEATURE_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Get Cmd Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR_INSTANCE___GET_CMD_VALUE = TYPE_INSTANCE___GET_CMD_VALUE;
-
-	/**
-	 * The operation id for the '<em>Set Value From String</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR_INSTANCE___SET_VALUE_FROM_STRING__STRING = TYPE_INSTANCE___SET_VALUE_FROM_STRING__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value From Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE = TYPE_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Color Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLOR_INSTANCE_OPERATION_COUNT = TYPE_INSTANCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillInstanceImpl <em>Fill Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillInstanceImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFillInstance()
-	 * @generated
-	 */
-	int FILL_INSTANCE = 50;
-
-	/**
-	 * The feature id for the '<em><b>Transparency</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_INSTANCE__TRANSPARENCY = TYPE_INSTANCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Fill Color</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_INSTANCE__FILL_COLOR = TYPE_INSTANCE_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Fill Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_INSTANCE_FEATURE_COUNT = TYPE_INSTANCE_FEATURE_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Get Cmd Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_INSTANCE___GET_CMD_VALUE = TYPE_INSTANCE___GET_CMD_VALUE;
-
-	/**
-	 * The operation id for the '<em>Set Value From String</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_INSTANCE___SET_VALUE_FROM_STRING__STRING = TYPE_INSTANCE___SET_VALUE_FROM_STRING__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value From Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE = TYPE_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Fill Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_INSTANCE_OPERATION_COUNT = TYPE_INSTANCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillImpl <em>Fill</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFill()
-	 * @generated
-	 */
-	int FILL = 51;
-
-	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL__METAMODEL = TYPE__METAMODEL;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL__NAME = TYPE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL__DESCRIPTION = TYPE__DESCRIPTION;
-
-	/**
-	 * The number of structural features of the '<em>Fill</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_FEATURE_COUNT = TYPE_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Create Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL___CREATE_INSTANCE = TYPE___CREATE_INSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Fill</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillPropertySetterImpl <em>Fill Property Setter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillPropertySetterImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFillPropertySetter()
-	 * @generated
-	 */
-	int FILL_PROPERTY_SETTER = 52;
-
-	/**
-	 * The feature id for the '<em><b>Property</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_PROPERTY_SETTER__PROPERTY = PROPERTY_SETTER__PROPERTY;
-
-	/**
-	 * The feature id for the '<em><b>Property Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_PROPERTY_SETTER__PROPERTY_NAME = PROPERTY_SETTER__PROPERTY_NAME;
-
-	/**
-	 * The number of structural features of the '<em>Fill Property Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_PROPERTY_SETTER_FEATURE_COUNT = PROPERTY_SETTER_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE = PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Fill Property Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FILL_PROPERTY_SETTER_OPERATION_COUNT = PROPERTY_SETTER_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsValidPropertySetterImpl <em>Is Valid Property Setter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsValidPropertySetterImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getIsValidPropertySetter()
-	 * @generated
-	 */
-	int IS_VALID_PROPERTY_SETTER = 53;
-
-	/**
-	 * The feature id for the '<em><b>Property</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_VALID_PROPERTY_SETTER__PROPERTY = PROPERTY_SETTER__PROPERTY;
-
-	/**
-	 * The feature id for the '<em><b>Property Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_VALID_PROPERTY_SETTER__PROPERTY_NAME = PROPERTY_SETTER__PROPERTY_NAME;
-
-	/**
-	 * The number of structural features of the '<em>Is Valid Property Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_VALID_PROPERTY_SETTER_FEATURE_COUNT = PROPERTY_SETTER_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_VALID_PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE = PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Is Valid Property Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_VALID_PROPERTY_SETTER_OPERATION_COUNT = PROPERTY_SETTER_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullPropertySetterImpl <em>Null Property Setter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullPropertySetterImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getNullPropertySetter()
-	 * @generated
-	 */
-	int NULL_PROPERTY_SETTER = 54;
-
-	/**
 	 * The feature id for the '<em><b>Property</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5041,473 +3526,6 @@
 	int NULL_PROPERTY_SETTER_OPERATION_COUNT = PROPERTY_SETTER_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LineTypeImpl <em>Line Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LineTypeImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLineType()
-	 * @generated
-	 */
-	int LINE_TYPE = 55;
-
-	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_TYPE__METAMODEL = TYPE__METAMODEL;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_TYPE__NAME = TYPE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_TYPE__DESCRIPTION = TYPE__DESCRIPTION;
-
-	/**
-	 * The number of structural features of the '<em>Line Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Create Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_TYPE___CREATE_INSTANCE = TYPE___CREATE_INSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Line Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_TYPE_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LineInstanceImpl <em>Line Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LineInstanceImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLineInstance()
-	 * @generated
-	 */
-	int LINE_INSTANCE = 56;
-
-	/**
-	 * The feature id for the '<em><b>Line Color</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_INSTANCE__LINE_COLOR = TYPE_INSTANCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Line With</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_INSTANCE__LINE_WITH = TYPE_INSTANCE_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Line Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_INSTANCE_FEATURE_COUNT = TYPE_INSTANCE_FEATURE_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Get Cmd Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_INSTANCE___GET_CMD_VALUE = TYPE_INSTANCE___GET_CMD_VALUE;
-
-	/**
-	 * The operation id for the '<em>Set Value From String</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_INSTANCE___SET_VALUE_FROM_STRING__STRING = TYPE_INSTANCE___SET_VALUE_FROM_STRING__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value From Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE = TYPE_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Line Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_INSTANCE_OPERATION_COUNT = TYPE_INSTANCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LinePropertySetterImpl <em>Line Property Setter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LinePropertySetterImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLinePropertySetter()
-	 * @generated
-	 */
-	int LINE_PROPERTY_SETTER = 57;
-
-	/**
-	 * The feature id for the '<em><b>Property</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_PROPERTY_SETTER__PROPERTY = PROPERTY_SETTER__PROPERTY;
-
-	/**
-	 * The feature id for the '<em><b>Property Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_PROPERTY_SETTER__PROPERTY_NAME = PROPERTY_SETTER__PROPERTY_NAME;
-
-	/**
-	 * The number of structural features of the '<em>Line Property Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_PROPERTY_SETTER_FEATURE_COUNT = PROPERTY_SETTER_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE = PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Line Property Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINE_PROPERTY_SETTER_OPERATION_COUNT = PROPERTY_SETTER_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontPropertySetterImpl <em>Font Property Setter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontPropertySetterImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFontPropertySetter()
-	 * @generated
-	 */
-	int FONT_PROPERTY_SETTER = 58;
-
-	/**
-	 * The feature id for the '<em><b>Property</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_PROPERTY_SETTER__PROPERTY = PROPERTY_SETTER__PROPERTY;
-
-	/**
-	 * The feature id for the '<em><b>Property Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_PROPERTY_SETTER__PROPERTY_NAME = PROPERTY_SETTER__PROPERTY_NAME;
-
-	/**
-	 * The number of structural features of the '<em>Font Property Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_PROPERTY_SETTER_FEATURE_COUNT = PROPERTY_SETTER_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE = PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Font Property Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_PROPERTY_SETTER_OPERATION_COUNT = PROPERTY_SETTER_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontInstanceImpl <em>Font Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontInstanceImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFontInstance()
-	 * @generated
-	 */
-	int FONT_INSTANCE = 59;
-
-	/**
-	 * The feature id for the '<em><b>Font Color</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_INSTANCE__FONT_COLOR = TYPE_INSTANCE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Font Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_INSTANCE__FONT_NAME = TYPE_INSTANCE_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Font Heigh</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_INSTANCE__FONT_HEIGH = TYPE_INSTANCE_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Bold</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_INSTANCE__BOLD = TYPE_INSTANCE_FEATURE_COUNT + 3;
-
-	/**
-	 * The number of structural features of the '<em>Font Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_INSTANCE_FEATURE_COUNT = TYPE_INSTANCE_FEATURE_COUNT + 4;
-
-	/**
-	 * The operation id for the '<em>Get Cmd Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_INSTANCE___GET_CMD_VALUE = TYPE_INSTANCE___GET_CMD_VALUE;
-
-	/**
-	 * The operation id for the '<em>Set Value From String</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_INSTANCE___SET_VALUE_FROM_STRING__STRING = TYPE_INSTANCE___SET_VALUE_FROM_STRING__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value From Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE = TYPE_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Font Instance</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_INSTANCE_OPERATION_COUNT = TYPE_INSTANCE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontTypeImpl <em>Font Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontTypeImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFontType()
-	 * @generated
-	 */
-	int FONT_TYPE = 60;
-
-	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_TYPE__METAMODEL = TYPE__METAMODEL;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_TYPE__NAME = TYPE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Description</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_TYPE__DESCRIPTION = TYPE__DESCRIPTION;
-
-	/**
-	 * The number of structural features of the '<em>Font Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Create Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_TYPE___CREATE_INSTANCE = TYPE___CREATE_INSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Font Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FONT_TYPE_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsVisiblePropertySetterImpl <em>Is Visible Property Setter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsVisiblePropertySetterImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getIsVisiblePropertySetter()
-	 * @generated
-	 */
-	int IS_VISIBLE_PROPERTY_SETTER = 61;
-
-	/**
-	 * The feature id for the '<em><b>Property</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_VISIBLE_PROPERTY_SETTER__PROPERTY = PROPERTY_SETTER__PROPERTY;
-
-	/**
-	 * The feature id for the '<em><b>Property Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_VISIBLE_PROPERTY_SETTER__PROPERTY_NAME = PROPERTY_SETTER__PROPERTY_NAME;
-
-	/**
-	 * The number of structural features of the '<em>Is Visible Property Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_VISIBLE_PROPERTY_SETTER_FEATURE_COUNT = PROPERTY_SETTER_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_VISIBLE_PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE = PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Is Visible Property Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_VISIBLE_PROPERTY_SETTER_OPERATION_COUNT = PROPERTY_SETTER_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorDescriptorImpl <em>Top Layer Operator Descriptor</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorDescriptorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getTopLayerOperatorDescriptor()
-	 * @generated
-	 */
-	int TOP_LAYER_OPERATOR_DESCRIPTOR = 62;
-
-	/**
 	 * The feature id for the '<em><b>Property Operators</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5568,7 +3586,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TOP_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR = LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR;
+	int TOP_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_PROPERTYOPERATOR = LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_PROPERTYOPERATOR;
 
 	/**
 	 * The number of operations of the '<em>Top Layer Operator Descriptor</em>' class.
@@ -5580,16 +3598,6 @@
 	int TOP_LAYER_OPERATOR_DESCRIPTOR_OPERATION_COUNT = LAYER_OPERATOR_DESCRIPTOR_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StackedLayerOperatorDescriptorImpl <em>Stacked Layer Operator Descriptor</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StackedLayerOperatorDescriptorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStackedLayerOperatorDescriptor()
-	 * @generated
-	 */
-	int STACKED_LAYER_OPERATOR_DESCRIPTOR = 63;
-
-	/**
 	 * The feature id for the '<em><b>Property Operators</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5650,7 +3658,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STACKED_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR = LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR;
+	int STACKED_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_PROPERTYOPERATOR = LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_PROPERTYOPERATOR;
 
 	/**
 	 * The number of operations of the '<em>Stacked Layer Operator Descriptor</em>' class.
@@ -5662,317 +3670,6 @@
 	int STACKED_LAYER_OPERATOR_DESCRIPTOR_OPERATION_COUNT = LAYER_OPERATOR_DESCRIPTOR_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomPropertyOperatorImpl <em>Custom Property Operator</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomPropertyOperatorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCustomPropertyOperator()
-	 * @generated
-	 */
-	int CUSTOM_PROPERTY_OPERATOR = 64;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_PROPERTY_OPERATOR__NAME = PROPERTY_OPERATOR__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Classname</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_PROPERTY_OPERATOR__CLASSNAME = PROPERTY_OPERATOR_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Operator Instance</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_PROPERTY_OPERATOR__OPERATOR_INSTANCE = PROPERTY_OPERATOR_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Class Bundle ID</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_PROPERTY_OPERATOR__CLASS_BUNDLE_ID = PROPERTY_OPERATOR_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the '<em>Custom Property Operator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_PROPERTY_OPERATOR_FEATURE_COUNT = PROPERTY_OPERATOR_FEATURE_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Get Compute Property Value Command</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST = PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST;
-
-	/**
-	 * The operation id for the '<em>Reset Operator Instance</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_PROPERTY_OPERATOR___RESET_OPERATOR_INSTANCE = PROPERTY_OPERATOR_OPERATION_COUNT + 0;
-
-	/**
-	 * The number of operations of the '<em>Custom Property Operator</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CUSTOM_PROPERTY_OPERATOR_OPERATION_COUNT = PROPERTY_OPERATOR_OPERATION_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AndStackedLayerOperatorDescriptorImpl <em>And Stacked Layer Operator Descriptor</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AndStackedLayerOperatorDescriptorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getAndStackedLayerOperatorDescriptor()
-	 * @generated
-	 */
-	int AND_STACKED_LAYER_OPERATOR_DESCRIPTOR = 65;
-
-	/**
-	 * The feature id for the '<em><b>Property Operators</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int AND_STACKED_LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS = STACKED_LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int AND_STACKED_LAYER_OPERATOR_DESCRIPTOR__NAME = STACKED_LAYER_OPERATOR_DESCRIPTOR__NAME;
-
-	/**
-	 * The number of structural features of the '<em>And Stacked Layer Operator Descriptor</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int AND_STACKED_LAYER_OPERATOR_DESCRIPTOR_FEATURE_COUNT = STACKED_LAYER_OPERATOR_DESCRIPTOR_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Get Property Operator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int AND_STACKED_LAYER_OPERATOR_DESCRIPTOR___GET_PROPERTY_OPERATOR__PROPERTY = STACKED_LAYER_OPERATOR_DESCRIPTOR___GET_PROPERTY_OPERATOR__PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Set Property Operator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int AND_STACKED_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_OPERATOR__PROPERTY_PROPERTYOPERATOR = STACKED_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_OPERATOR__PROPERTY_PROPERTYOPERATOR;
-
-	/**
-	 * The operation id for the '<em>Create Layer Operator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int AND_STACKED_LAYER_OPERATOR_DESCRIPTOR___CREATE_LAYER_OPERATOR = STACKED_LAYER_OPERATOR_DESCRIPTOR___CREATE_LAYER_OPERATOR;
-
-	/**
-	 * The operation id for the '<em>Set Property Collection Size</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int AND_STACKED_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR = STACKED_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR;
-
-	/**
-	 * The number of operations of the '<em>And Stacked Layer Operator Descriptor</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int AND_STACKED_LAYER_OPERATOR_DESCRIPTOR_OPERATION_COUNT = STACKED_LAYER_OPERATOR_DESCRIPTOR_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.OrStackedLayerOperatorDescriptorImpl <em>Or Stacked Layer Operator Descriptor</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.OrStackedLayerOperatorDescriptorImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getOrStackedLayerOperatorDescriptor()
-	 * @generated
-	 */
-	int OR_STACKED_LAYER_OPERATOR_DESCRIPTOR = 66;
-
-	/**
-	 * The feature id for the '<em><b>Property Operators</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OR_STACKED_LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS = STACKED_LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OR_STACKED_LAYER_OPERATOR_DESCRIPTOR__NAME = STACKED_LAYER_OPERATOR_DESCRIPTOR__NAME;
-
-	/**
-	 * The number of structural features of the '<em>Or Stacked Layer Operator Descriptor</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OR_STACKED_LAYER_OPERATOR_DESCRIPTOR_FEATURE_COUNT = STACKED_LAYER_OPERATOR_DESCRIPTOR_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Get Property Operator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OR_STACKED_LAYER_OPERATOR_DESCRIPTOR___GET_PROPERTY_OPERATOR__PROPERTY = STACKED_LAYER_OPERATOR_DESCRIPTOR___GET_PROPERTY_OPERATOR__PROPERTY;
-
-	/**
-	 * The operation id for the '<em>Set Property Operator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OR_STACKED_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_OPERATOR__PROPERTY_PROPERTYOPERATOR = STACKED_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_OPERATOR__PROPERTY_PROPERTYOPERATOR;
-
-	/**
-	 * The operation id for the '<em>Create Layer Operator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OR_STACKED_LAYER_OPERATOR_DESCRIPTOR___CREATE_LAYER_OPERATOR = STACKED_LAYER_OPERATOR_DESCRIPTOR___CREATE_LAYER_OPERATOR;
-
-	/**
-	 * The operation id for the '<em>Set Property Collection Size</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OR_STACKED_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR = STACKED_LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR;
-
-	/**
-	 * The number of operations of the '<em>Or Stacked Layer Operator Descriptor</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OR_STACKED_LAYER_OPERATOR_DESCRIPTOR_OPERATION_COUNT = STACKED_LAYER_OPERATOR_DESCRIPTOR_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsAbstractUmlSetterImpl <em>Is Abstract Uml Setter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsAbstractUmlSetterImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getIsAbstractUmlSetter()
-	 * @generated
-	 */
-	int IS_ABSTRACT_UML_SETTER = 67;
-
-	/**
-	 * The feature id for the '<em><b>Property</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_ABSTRACT_UML_SETTER__PROPERTY = PROPERTY_SETTER__PROPERTY;
-
-	/**
-	 * The feature id for the '<em><b>Property Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_ABSTRACT_UML_SETTER__PROPERTY_NAME = PROPERTY_SETTER__PROPERTY_NAME;
-
-	/**
-	 * The number of structural features of the '<em>Is Abstract Uml Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_ABSTRACT_UML_SETTER_FEATURE_COUNT = PROPERTY_SETTER_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_ABSTRACT_UML_SETTER___SET_VALUE__VIEW_TYPEINSTANCE = PROPERTY_SETTER___SET_VALUE__VIEW_TYPEINSTANCE;
-
-	/**
-	 * The number of operations of the '<em>Is Abstract Uml Setter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int IS_ABSTRACT_UML_SETTER_OPERATION_COUNT = PROPERTY_SETTER_OPERATION_COUNT + 0;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AllViewsDerivedLayerImpl <em>All Views Derived Layer</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AllViewsDerivedLayerImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getAllViewsDerivedLayer()
-	 * @generated
-	 */
-	int ALL_VIEWS_DERIVED_LAYER = 68;
-
-	/**
 	 * The feature id for the '<em><b>Application</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6114,7 +3811,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ALL_VIEWS_DERIVED_LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = ABSTRACT_LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY;
+	int ALL_VIEWS_DERIVED_LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY = ABSTRACT_LAYER___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY;
 
 	/**
 	 * The operation id for the '<em>Get Properties Compute Property Value Command</em>' operation.
@@ -6123,7 +3820,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ALL_VIEWS_DERIVED_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
+	int ALL_VIEWS_DERIVED_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST = ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST;
 
 	/**
 	 * The operation id for the '<em>Attach To Layers Stack</em>' operation.
@@ -6225,16 +3922,6 @@
 	int ALL_VIEWS_DERIVED_LAYER_OPERATION_COUNT = ABSTRACT_LAYER_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSPropertySetterImpl <em>CSS Property Setter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSPropertySetterImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSPropertySetter()
-	 * @generated
-	 */
-	int CSS_PROPERTY_SETTER = 69;
-
-	/**
 	 * The feature id for the '<em><b>Property</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6280,25 +3967,6 @@
 	int CSS_PROPERTY_SETTER_OPERATION_COUNT = PROPERTY_SETTER_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSTypeImpl <em>CSS Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSTypeImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSType()
-	 * @generated
-	 */
-	int CSS_TYPE = 70;
-
-	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CSS_TYPE__METAMODEL = TYPE__METAMODEL;
-
-	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6344,16 +4012,6 @@
 	int CSS_TYPE_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSInstanceImpl <em>CSS Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSInstanceImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSInstance()
-	 * @generated
-	 */
-	int CSS_INSTANCE = 71;
-
-	/**
 	 * The feature id for the '<em><b>Stylesheet</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6417,16 +4075,6 @@
 	int CSS_INSTANCE_OPERATION_COUNT = TYPE_INSTANCE_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHidePropertySetterImpl <em>CSS Hide Property Setter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHidePropertySetterImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSHidePropertySetter()
-	 * @generated
-	 */
-	int CSS_HIDE_PROPERTY_SETTER = 72;
-
-	/**
 	 * The feature id for the '<em><b>Property</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6472,25 +4120,6 @@
 	int CSS_HIDE_PROPERTY_SETTER_OPERATION_COUNT = PROPERTY_SETTER_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideTypeImpl <em>CSS Hide Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideTypeImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSHideType()
-	 * @generated
-	 */
-	int CSS_HIDE_TYPE = 73;
-
-	/**
-	 * The feature id for the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CSS_HIDE_TYPE__METAMODEL = TYPE__METAMODEL;
-
-	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6536,16 +4165,6 @@
 	int CSS_HIDE_TYPE_OPERATION_COUNT = TYPE_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideInstanceImpl <em>CSS Hide Instance</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideInstanceImpl
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCSSHideInstance()
-	 * @generated
-	 */
-	int CSS_HIDE_INSTANCE = 74;
-
-	/**
 	 * The feature id for the '<em><b>Stylesheet</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6609,34 +4228,14 @@
 	int CSS_HIDE_INSTANCE_OPERATION_COUNT = TYPE_INSTANCE_OPERATION_COUNT + 0;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerState <em>Layer State</em>}' enum.
+	 * The meta object id for the '<em>Compute Property Value Command</em>' data type.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerState
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayerState()
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getComputePropertyValueCommand()
 	 * @generated
 	 */
-	int LAYER_STATE = 75;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel <em>Event Level</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getEventLevel()
-	 * @generated
-	 */
-	int EVENT_LEVEL = 76;
-
-	/**
-	 * The meta object id for the '<em>String</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see java.lang.String
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getString()
-	 * @generated
-	 */
-	int STRING = 77;
+	int COMPUTE_PROPERTY_VALUE_COMMAND = 53;
 
 	/**
 	 * The meta object id for the '<em>boolean</em>' data type.
@@ -6645,7 +4244,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getboolean()
 	 * @generated
 	 */
-	int BOOLEAN = 78;
+	int BOOLEAN = 54;
 
 	/**
 	 * The meta object id for the '<em>EPackage</em>' data type.
@@ -6655,56 +4254,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getEPackage()
 	 * @generated
 	 */
-	int EPACKAGE = 79;
-
-	/**
-	 * The meta object id for the '<em>Exception</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLayersException()
-	 * @generated
-	 */
-	int LAYERS_EXCEPTION = 80;
-
-	/**
-	 * The meta object id for the '<em>int</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getint()
-	 * @generated
-	 */
-	int INT = 81;
-
-	/**
-	 * The meta object id for the '<em>Bad State Exception</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.BadStateException
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getBadStateException()
-	 * @generated
-	 */
-	int BAD_STATE_EXCEPTION = 82;
-
-	/**
-	 * The meta object id for the '<em>Not Found Exception</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getNotFoundException()
-	 * @generated
-	 */
-	int NOT_FOUND_EXCEPTION = 83;
-
-	/**
-	 * The meta object id for the '<em>Compute Property Value Command</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getComputePropertyValueCommand()
-	 * @generated
-	 */
-	int COMPUTE_PROPERTY_VALUE_COMMAND = 84;
+	int EPACKAGE = 55;
 
 	/**
 	 * The meta object id for the '<em>Object</em>' data type.
@@ -6714,17 +4264,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getObject()
 	 * @generated
 	 */
-	int OBJECT = 85;
-
-	/**
-	 * The meta object id for the '<em>Custom Property Opertor Instance</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCustomPropertyOpertorInstance()
-	 * @generated
-	 */
-	int CUSTOM_PROPERTY_OPERTOR_INSTANCE = 86;
+	int OBJECT = 56;
 
 
 	/**
@@ -6824,24 +4364,24 @@
 	EOperation getLayersStack__GetComputePropertyValueCommand__View_Property();
 
 	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, org.eclipse.emf.common.util.EList) <em>Get Properties Compute Property Value Command</em>}' operation.
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, java.util.List) <em>Get Properties Compute Property Value Command</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the '<em>Get Properties Compute Property Value Command</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, org.eclipse.emf.common.util.EList)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, java.util.List)
 	 * @generated
 	 */
-	EOperation getLayersStack__GetPropertiesComputePropertyValueCommand__View_EList();
+	EOperation getLayersStack__GetPropertiesComputePropertyValueCommand__View_List();
 
 	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack#getViewsComputePropertyValueCommand(org.eclipse.emf.common.util.EList, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property) <em>Get Views Compute Property Value Command</em>}' operation.
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack#getViewsComputePropertyValueCommand(java.util.List, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property) <em>Get Views Compute Property Value Command</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the '<em>Get Views Compute Property Value Command</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack#getViewsComputePropertyValueCommand(org.eclipse.emf.common.util.EList, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack#getViewsComputePropertyValueCommand(java.util.List, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property)
 	 * @generated
 	 */
-	EOperation getLayersStack__GetViewsComputePropertyValueCommand__EList_Property();
+	EOperation getLayersStack__GetViewsComputePropertyValueCommand__List_Property();
 
 	/**
 	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack#startAfterCreation() <em>Start After Creation</em>}' operation.
@@ -7001,24 +4541,24 @@
 	EOperation getLayerExpression__GetComputePropertyValueCommand__View_Property();
 
 	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression#getViewsComputePropertyValueCommand(org.eclipse.emf.common.util.EList, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property) <em>Get Views Compute Property Value Command</em>}' operation.
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression#getViewsComputePropertyValueCommand(java.util.List, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property) <em>Get Views Compute Property Value Command</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the '<em>Get Views Compute Property Value Command</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression#getViewsComputePropertyValueCommand(org.eclipse.emf.common.util.EList, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression#getViewsComputePropertyValueCommand(java.util.List, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property)
 	 * @generated
 	 */
-	EOperation getLayerExpression__GetViewsComputePropertyValueCommand__EList_Property();
+	EOperation getLayerExpression__GetViewsComputePropertyValueCommand__List_Property();
 
 	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, org.eclipse.emf.common.util.EList) <em>Get Properties Compute Property Value Command</em>}' operation.
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, java.util.List) <em>Get Properties Compute Property Value Command</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the '<em>Get Properties Compute Property Value Command</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, org.eclipse.emf.common.util.EList)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, java.util.List)
 	 * @generated
 	 */
-	EOperation getLayerExpression__GetPropertiesComputePropertyValueCommand__View_EList();
+	EOperation getLayerExpression__GetPropertiesComputePropertyValueCommand__View_List();
 
 	/**
 	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression#attachToLayersStack(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack) <em>Attach To Layers Stack</em>}' operation.
@@ -7417,17 +4957,6 @@
 	EClass getType();
 
 	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type#getMetamodel <em>Metamodel</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Metamodel</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type#getMetamodel()
-	 * @see #getType()
-	 * @generated
-	 */
-	EReference getType_Metamodel();
-
-	/**
 	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type#getName <em>Name</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -7460,92 +4989,6 @@
 	EOperation getType__CreateInstance();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel <em>Metamodel</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Metamodel</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel
-	 * @generated
-	 */
-	EClass getMetamodel();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getName()
-	 * @see #getMetamodel()
-	 * @generated
-	 */
-	EAttribute getMetamodel_Name();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getDescription <em>Description</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Description</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getDescription()
-	 * @see #getMetamodel()
-	 * @generated
-	 */
-	EAttribute getMetamodel_Description();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getNsuri <em>Nsuri</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Nsuri</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getNsuri()
-	 * @see #getMetamodel()
-	 * @generated
-	 */
-	EAttribute getMetamodel_Nsuri();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getPluginID <em>Plugin ID</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Plugin ID</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getPluginID()
-	 * @see #getMetamodel()
-	 * @generated
-	 */
-	EAttribute getMetamodel_PluginID();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getEPackageInstanceName <em>EPackage Instance Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>EPackage Instance Name</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getEPackageInstanceName()
-	 * @see #getMetamodel()
-	 * @generated
-	 */
-	EAttribute getMetamodel_EPackageInstanceName();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#isTypeValid <em>Is Type Valid</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Is Type Valid</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#isTypeValid()
-	 * @see #getMetamodel()
-	 * @generated
-	 */
-	EAttribute getMetamodel_IsTypeValid();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getEPackage() <em>Get EPackage</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Get EPackage</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getEPackage()
-	 * @generated
-	 */
-	EOperation getMetamodel__GetEPackage();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance <em>Type Instance</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8041,14 +5484,14 @@
 	EOperation getLayerOperatorDescriptor__CreateLayerOperator();
 
 	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor#setPropertyCollectionSize(int, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator) <em>Set Property Collection Size</em>}' operation.
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor#setPropertyCollectionSize(int, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator) <em>Set Property Collection Size</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the '<em>Set Property Collection Size</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor#setPropertyCollectionSize(int, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor#setPropertyCollectionSize(int, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator)
 	 * @generated
 	 */
-	EOperation getLayerOperatorDescriptor__SetPropertyCollectionSize__int_DefaultPropertyOperator();
+	EOperation getLayerOperatorDescriptor__SetPropertyCollectionSize__int_PropertyOperator();
 
 	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator <em>Property Operator</em>}'.
@@ -8072,66 +5515,57 @@
 	EAttribute getPropertyOperator_Name();
 
 	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getComputePropertyValueCommand(org.eclipse.emf.common.util.EList) <em>Get Compute Property Value Command</em>}' operation.
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getClassname <em>Classname</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Classname</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getClassname()
+	 * @see #getPropertyOperator()
+	 * @generated
+	 */
+	EAttribute getPropertyOperator_Classname();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getOperatorInstance <em>Operator Instance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Operator Instance</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getOperatorInstance()
+	 * @see #getPropertyOperator()
+	 * @generated
+	 */
+	EReference getPropertyOperator_OperatorInstance();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getClassBundleID <em>Class Bundle ID</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Class Bundle ID</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getClassBundleID()
+	 * @see #getPropertyOperator()
+	 * @generated
+	 */
+	EAttribute getPropertyOperator_ClassBundleID();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getComputePropertyValueCommand(java.util.List) <em>Get Compute Property Value Command</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the '<em>Get Compute Property Value Command</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getComputePropertyValueCommand(org.eclipse.emf.common.util.EList)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getComputePropertyValueCommand(java.util.List)
 	 * @generated
 	 */
-	EOperation getPropertyOperator__GetComputePropertyValueCommand__EList();
+	EOperation getPropertyOperator__GetComputePropertyValueCommand__List();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator <em>Abstract Layer Operator</em>}'.
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#resetOperatorInstance() <em>Reset Operator Instance</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Abstract Layer Operator</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator
+	 * @return the meta object for the '<em>Reset Operator Instance</em>' operation.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#resetOperatorInstance()
 	 * @generated
 	 */
-	EClass getAbstractLayerOperator();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#getLayerOperatorDescriptor <em>Layer Operator Descriptor</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Layer Operator Descriptor</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#getLayerOperatorDescriptor()
-	 * @see #getAbstractLayerOperator()
-	 * @generated
-	 */
-	EReference getAbstractLayerOperator_LayerOperatorDescriptor();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#getLayerOperatorDescriptorName <em>Layer Operator Descriptor Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Layer Operator Descriptor Name</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#getLayerOperatorDescriptorName()
-	 * @see #getAbstractLayerOperator()
-	 * @generated
-	 */
-	EAttribute getAbstractLayerOperator_LayerOperatorDescriptorName();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#isDescriptorSet() <em>Is Descriptor Set</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Is Descriptor Set</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#isDescriptorSet()
-	 * @generated
-	 */
-	EOperation getAbstractLayerOperator__IsDescriptorSet();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#resetDescriptor() <em>Reset Descriptor</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Reset Descriptor</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator#resetDescriptor()
-	 * @generated
-	 */
-	EOperation getAbstractLayerOperator__ResetDescriptor();
+	EOperation getPropertyOperator__ResetOperatorInstance();
 
 	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator <em>Layer Operator</em>}'.
@@ -8155,6 +5589,48 @@
 	EReference getLayerOperator_Layers();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#getLayerOperatorDescriptorName <em>Layer Operator Descriptor Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Layer Operator Descriptor Name</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#getLayerOperatorDescriptorName()
+	 * @see #getLayerOperator()
+	 * @generated
+	 */
+	EAttribute getLayerOperator_LayerOperatorDescriptorName();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#getLayerOperatorDescriptor <em>Layer Operator Descriptor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Layer Operator Descriptor</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#getLayerOperatorDescriptor()
+	 * @see #getLayerOperator()
+	 * @generated
+	 */
+	EReference getLayerOperator_LayerOperatorDescriptor();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#isDescriptorSet() <em>Is Descriptor Set</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Is Descriptor Set</em>' operation.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#isDescriptorSet()
+	 * @generated
+	 */
+	EOperation getLayerOperator__IsDescriptorSet();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#resetDescriptor() <em>Reset Descriptor</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the '<em>Reset Descriptor</em>' operation.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator#resetDescriptor()
+	 * @generated
+	 */
+	EOperation getLayerOperator__ResetDescriptor();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersContainer <em>Container</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8175,16 +5651,6 @@
 	EOperation getLayersContainer__AddLayer__LayerExpression();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator <em>Default Property Operator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Default Property Operator</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator
-	 * @generated
-	 */
-	EClass getDefaultPropertyOperator();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayer <em>Abstract Layer</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8356,118 +5822,90 @@
 	EAttribute getFolder_Name();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance <em>Int Instance</em>}'.
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel <em>Metamodel</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Int Instance</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance
+	 * @return the meta object for class '<em>Metamodel</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel
 	 * @generated
 	 */
-	EClass getIntInstance();
+	EClass getMetamodel();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance#getValue <em>Value</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getName <em>Name</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance#getValue()
-	 * @see #getIntInstance()
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getName()
+	 * @see #getMetamodel()
 	 * @generated
 	 */
-	EAttribute getIntInstance_Value();
+	EAttribute getMetamodel_Name();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance <em>Boolean Instance</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getDescription <em>Description</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Boolean Instance</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance
+	 * @return the meta object for the attribute '<em>Description</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getDescription()
+	 * @see #getMetamodel()
 	 * @generated
 	 */
-	EClass getBooleanInstance();
+	EAttribute getMetamodel_Description();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance#isValue <em>Value</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getNsuri <em>Nsuri</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance#isValue()
-	 * @see #getBooleanInstance()
+	 * @return the meta object for the attribute '<em>Nsuri</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getNsuri()
+	 * @see #getMetamodel()
 	 * @generated
 	 */
-	EAttribute getBooleanInstance_Value();
+	EAttribute getMetamodel_Nsuri();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance <em>String Instance</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getPluginID <em>Plugin ID</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>String Instance</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance
+	 * @return the meta object for the attribute '<em>Plugin ID</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getPluginID()
+	 * @see #getMetamodel()
 	 * @generated
 	 */
-	EClass getStringInstance();
+	EAttribute getMetamodel_PluginID();
 
 	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance#getValue <em>Value</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getEPackageInstanceName <em>EPackage Instance Name</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance#getValue()
-	 * @see #getStringInstance()
+	 * @return the meta object for the attribute '<em>EPackage Instance Name</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getEPackageInstanceName()
+	 * @see #getMetamodel()
 	 * @generated
 	 */
-	EAttribute getStringInstance_Value();
+	EAttribute getMetamodel_EPackageInstanceName();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntType <em>Int Type</em>}'.
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#isTypeValid <em>Is Type Valid</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Int Type</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntType
+	 * @return the meta object for the attribute '<em>Is Type Valid</em>'.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#isTypeValid()
+	 * @see #getMetamodel()
 	 * @generated
 	 */
-	EClass getIntType();
+	EAttribute getMetamodel_IsTypeValid();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanType <em>Boolean Type</em>}'.
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getEPackage() <em>Get EPackage</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Boolean Type</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanType
+	 * @return the meta object for the '<em>Get EPackage</em>' operation.
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel#getEPackage()
 	 * @generated
 	 */
-	EClass getBooleanType();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringType <em>String Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>String Type</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringType
-	 * @generated
-	 */
-	EClass getStringType();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType <em>Custom Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Custom Type</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType
-	 * @generated
-	 */
-	EClass getCustomType();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType#getClassifier <em>Classifier</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Classifier</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType#getClassifier()
-	 * @see #getCustomType()
-	 * @generated
-	 */
-	EAttribute getCustomType_Classifier();
+	EOperation getMetamodel__GetEPackage();
 
 	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator <em>Top Layer Operator</em>}'.
@@ -8490,16 +5928,6 @@
 	EClass getStackedLayerOperator();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomLayerOperator <em>Custom Layer Operator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Custom Layer Operator</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomLayerOperator
-	 * @generated
-	 */
-	EClass getCustomLayerOperator();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyIndex <em>Property Index</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8577,16 +6005,6 @@
 	EClass getSimpleLayerDescriptor();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayerDescriptor <em>Reg Exp Layer Descriptor</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Reg Exp Layer Descriptor</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayerDescriptor
-	 * @generated
-	 */
-	EClass getRegExpLayerDescriptor();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullInstance <em>Null Instance</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8607,163 +6025,6 @@
 	EOperation getNullInstance__GetInstance();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer <em>Reg Exp Layer</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Reg Exp Layer</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer
-	 * @generated
-	 */
-	EClass getRegExpLayer();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getExpr <em>Expr</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Expr</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getExpr()
-	 * @see #getRegExpLayer()
-	 * @generated
-	 */
-	EAttribute getRegExpLayer_Expr();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getLanguage <em>Language</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Language</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getLanguage()
-	 * @see #getRegExpLayer()
-	 * @generated
-	 */
-	EAttribute getRegExpLayer_Language();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#isDomainChangedEventDependant <em>Is Domain Changed Event Dependant</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Is Domain Changed Event Dependant</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#isDomainChangedEventDependant()
-	 * @see #getRegExpLayer()
-	 * @generated
-	 */
-	EAttribute getRegExpLayer_IsDomainChangedEventDependant();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getDomainChangedEventLevel <em>Domain Changed Event Level</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Domain Changed Event Level</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getDomainChangedEventLevel()
-	 * @see #getRegExpLayer()
-	 * @generated
-	 */
-	EAttribute getRegExpLayer_DomainChangedEventLevel();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#isDiagramChangedEventDependant <em>Is Diagram Changed Event Dependant</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Is Diagram Changed Event Dependant</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#isDiagramChangedEventDependant()
-	 * @see #getRegExpLayer()
-	 * @generated
-	 */
-	EAttribute getRegExpLayer_IsDiagramChangedEventDependant();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getDiagramChangedEventLevel <em>Diagram Changed Event Level</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Diagram Changed Event Level</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getDiagramChangedEventLevel()
-	 * @see #getRegExpLayer()
-	 * @generated
-	 */
-	EAttribute getRegExpLayer_DiagramChangedEventLevel();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getExpressionContextObjectType <em>Expression Context Object Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Expression Context Object Type</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getExpressionContextObjectType()
-	 * @see #getRegExpLayer()
-	 * @generated
-	 */
-	EAttribute getRegExpLayer_ExpressionContextObjectType();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#activate(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator) <em>Activate</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Activate</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#activate(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator)
-	 * @generated
-	 */
-	EOperation getRegExpLayer__Activate__AbstractLayerOperator();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#deactivate(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator) <em>Deactivate</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Deactivate</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#deactivate(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator)
-	 * @generated
-	 */
-	EOperation getRegExpLayer__Deactivate__AbstractLayerOperator();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#isDerivedView(org.eclipse.gmf.runtime.notation.View) <em>Is Derived View</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Is Derived View</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#isDerivedView(org.eclipse.gmf.runtime.notation.View)
-	 * @generated
-	 */
-	EOperation getRegExpLayer__IsDerivedView__View();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#attachDerivedView(org.eclipse.gmf.runtime.notation.View) <em>Attach Derived View</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Attach Derived View</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#attachDerivedView(org.eclipse.gmf.runtime.notation.View)
-	 * @generated
-	 */
-	EOperation getRegExpLayer__AttachDerivedView__View();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#attachDerivedViews(org.eclipse.emf.common.util.EList) <em>Attach Derived Views</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Attach Derived Views</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#attachDerivedViews(org.eclipse.emf.common.util.EList)
-	 * @generated
-	 */
-	EOperation getRegExpLayer__AttachDerivedViews__EList();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#attachDerivedViews() <em>Attach Derived Views</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Attach Derived Views</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#attachDerivedViews()
-	 * @generated
-	 */
-	EOperation getRegExpLayer__AttachDerivedViews();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#lookupDerivedViews(org.eclipse.emf.common.util.EList) <em>Lookup Derived Views</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Lookup Derived Views</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#lookupDerivedViews(org.eclipse.emf.common.util.EList)
-	 * @generated
-	 */
-	EOperation getRegExpLayer__LookupDerivedViews__EList();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Layer <em>Layer</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8774,99 +6035,6 @@
 	EClass getLayer();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Color <em>Color</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Color</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Color
-	 * @generated
-	 */
-	EClass getColor();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance <em>Color Instance</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Color Instance</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance
-	 * @generated
-	 */
-	EClass getColorInstance();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance#getValue <em>Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance#getValue()
-	 * @see #getColorInstance()
-	 * @generated
-	 */
-	EAttribute getColorInstance_Value();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance <em>Fill Instance</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Fill Instance</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance
-	 * @generated
-	 */
-	EClass getFillInstance();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance#getTransparency <em>Transparency</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Transparency</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance#getTransparency()
-	 * @see #getFillInstance()
-	 * @generated
-	 */
-	EAttribute getFillInstance_Transparency();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance#getFillColor <em>Fill Color</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Fill Color</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance#getFillColor()
-	 * @see #getFillInstance()
-	 * @generated
-	 */
-	EReference getFillInstance_FillColor();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Fill <em>Fill</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Fill</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Fill
-	 * @generated
-	 */
-	EClass getFill();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillPropertySetter <em>Fill Property Setter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Fill Property Setter</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillPropertySetter
-	 * @generated
-	 */
-	EClass getFillPropertySetter();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsValidPropertySetter <em>Is Valid Property Setter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Is Valid Property Setter</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsValidPropertySetter
-	 * @generated
-	 */
-	EClass getIsValidPropertySetter();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullPropertySetter <em>Null Property Setter</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8877,142 +6045,6 @@
 	EClass getNullPropertySetter();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineType <em>Line Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Line Type</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineType
-	 * @generated
-	 */
-	EClass getLineType();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance <em>Line Instance</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Line Instance</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance
-	 * @generated
-	 */
-	EClass getLineInstance();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance#getLineColor <em>Line Color</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Line Color</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance#getLineColor()
-	 * @see #getLineInstance()
-	 * @generated
-	 */
-	EAttribute getLineInstance_LineColor();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance#getLineWith <em>Line With</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Line With</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance#getLineWith()
-	 * @see #getLineInstance()
-	 * @generated
-	 */
-	EAttribute getLineInstance_LineWith();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LinePropertySetter <em>Line Property Setter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Line Property Setter</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LinePropertySetter
-	 * @generated
-	 */
-	EClass getLinePropertySetter();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontPropertySetter <em>Font Property Setter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Font Property Setter</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontPropertySetter
-	 * @generated
-	 */
-	EClass getFontPropertySetter();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance <em>Font Instance</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Font Instance</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance
-	 * @generated
-	 */
-	EClass getFontInstance();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontColor <em>Font Color</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Font Color</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontColor()
-	 * @see #getFontInstance()
-	 * @generated
-	 */
-	EAttribute getFontInstance_FontColor();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontName <em>Font Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Font Name</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontName()
-	 * @see #getFontInstance()
-	 * @generated
-	 */
-	EAttribute getFontInstance_FontName();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontHeigh <em>Font Heigh</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Font Heigh</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#getFontHeigh()
-	 * @see #getFontInstance()
-	 * @generated
-	 */
-	EAttribute getFontInstance_FontHeigh();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#isBold <em>Bold</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Bold</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance#isBold()
-	 * @see #getFontInstance()
-	 * @generated
-	 */
-	EAttribute getFontInstance_Bold();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontType <em>Font Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Font Type</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontType
-	 * @generated
-	 */
-	EClass getFontType();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsVisiblePropertySetter <em>Is Visible Property Setter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Is Visible Property Setter</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsVisiblePropertySetter
-	 * @generated
-	 */
-	EClass getIsVisiblePropertySetter();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperatorDescriptor <em>Top Layer Operator Descriptor</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -9033,89 +6065,6 @@
 	EClass getStackedLayerOperatorDescriptor();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator <em>Custom Property Operator</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Custom Property Operator</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator
-	 * @generated
-	 */
-	EClass getCustomPropertyOperator();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getClassname <em>Classname</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Classname</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getClassname()
-	 * @see #getCustomPropertyOperator()
-	 * @generated
-	 */
-	EAttribute getCustomPropertyOperator_Classname();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getOperatorInstance <em>Operator Instance</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Operator Instance</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getOperatorInstance()
-	 * @see #getCustomPropertyOperator()
-	 * @generated
-	 */
-	EAttribute getCustomPropertyOperator_OperatorInstance();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getClassBundleID <em>Class Bundle ID</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Class Bundle ID</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#getClassBundleID()
-	 * @see #getCustomPropertyOperator()
-	 * @generated
-	 */
-	EAttribute getCustomPropertyOperator_ClassBundleID();
-
-	/**
-	 * Returns the meta object for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#resetOperatorInstance() <em>Reset Operator Instance</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Reset Operator Instance</em>' operation.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator#resetOperatorInstance()
-	 * @generated
-	 */
-	EOperation getCustomPropertyOperator__ResetOperatorInstance();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AndStackedLayerOperatorDescriptor <em>And Stacked Layer Operator Descriptor</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>And Stacked Layer Operator Descriptor</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AndStackedLayerOperatorDescriptor
-	 * @generated
-	 */
-	EClass getAndStackedLayerOperatorDescriptor();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.OrStackedLayerOperatorDescriptor <em>Or Stacked Layer Operator Descriptor</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Or Stacked Layer Operator Descriptor</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.OrStackedLayerOperatorDescriptor
-	 * @generated
-	 */
-	EClass getOrStackedLayerOperatorDescriptor();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsAbstractUmlSetter <em>Is Abstract Uml Setter</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Is Abstract Uml Setter</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsAbstractUmlSetter
-	 * @generated
-	 */
-	EClass getIsAbstractUmlSetter();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AllViewsDerivedLayer <em>All Views Derived Layer</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -9261,27 +6210,6 @@
 	EDataType getString();
 
 	/**
-	 * Returns the meta object for data type '<em>boolean</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for data type '<em>boolean</em>'.
-	 * @model instanceClass="boolean"
-	 * @generated
-	 */
-	EDataType getboolean();
-
-	/**
-	 * Returns the meta object for data type '{@link org.eclipse.emf.ecore.EPackage <em>EPackage</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for data type '<em>EPackage</em>'.
-	 * @see org.eclipse.emf.ecore.EPackage
-	 * @model instanceClass="org.eclipse.emf.ecore.EPackage"
-	 * @generated
-	 */
-	EDataType getEPackage();
-
-	/**
 	 * Returns the meta object for data type '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException <em>Exception</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -9338,6 +6266,27 @@
 	EDataType getComputePropertyValueCommand();
 
 	/**
+	 * Returns the meta object for data type '<em>boolean</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for data type '<em>boolean</em>'.
+	 * @model instanceClass="boolean"
+	 * @generated
+	 */
+	EDataType getboolean();
+
+	/**
+	 * Returns the meta object for data type '{@link org.eclipse.emf.ecore.EPackage <em>EPackage</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for data type '<em>EPackage</em>'.
+	 * @see org.eclipse.emf.ecore.EPackage
+	 * @model instanceClass="org.eclipse.emf.ecore.EPackage"
+	 * @generated
+	 */
+	EDataType getEPackage();
+
+	/**
 	 * Returns the meta object for data type '{@link java.lang.Object <em>Object</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -9349,17 +6298,6 @@
 	EDataType getObject();
 
 	/**
-	 * Returns the meta object for data type '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance <em>Custom Property Opertor Instance</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for data type '<em>Custom Property Opertor Instance</em>'.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance
-	 * @model instanceClass="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance"
-	 * @generated
-	 */
-	EDataType getCustomPropertyOpertorInstance();
-
-	/**
 	 * Returns the factory that creates the instances of the model.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -9464,7 +6402,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EOperation LAYERS_STACK___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = eINSTANCE.getLayersStack__GetPropertiesComputePropertyValueCommand__View_EList();
+		EOperation LAYERS_STACK___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST = eINSTANCE.getLayersStack__GetPropertiesComputePropertyValueCommand__View_List();
 
 		/**
 		 * The meta object literal for the '<em><b>Get Views Compute Property Value Command</b></em>' operation.
@@ -9472,7 +6410,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EOperation LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = eINSTANCE.getLayersStack__GetViewsComputePropertyValueCommand__EList_Property();
+		EOperation LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY = eINSTANCE.getLayersStack__GetViewsComputePropertyValueCommand__List_Property();
 
 		/**
 		 * The meta object literal for the '<em><b>Start After Creation</b></em>' operation.
@@ -9602,7 +6540,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EOperation LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = eINSTANCE.getLayerExpression__GetViewsComputePropertyValueCommand__EList_Property();
+		EOperation LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY = eINSTANCE.getLayerExpression__GetViewsComputePropertyValueCommand__List_Property();
 
 		/**
 		 * The meta object literal for the '<em><b>Get Properties Compute Property Value Command</b></em>' operation.
@@ -9610,7 +6548,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EOperation LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = eINSTANCE.getLayerExpression__GetPropertiesComputePropertyValueCommand__View_EList();
+		EOperation LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST = eINSTANCE.getLayerExpression__GetPropertiesComputePropertyValueCommand__View_List();
 
 		/**
 		 * The meta object literal for the '<em><b>Attach To Layers Stack</b></em>' operation.
@@ -9931,14 +6869,6 @@
 		EClass TYPE = eINSTANCE.getType();
 
 		/**
-		 * The meta object literal for the '<em><b>Metamodel</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TYPE__METAMODEL = eINSTANCE.getType_Metamodel();
-
-		/**
 		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -9963,72 +6893,6 @@
 		EOperation TYPE___CREATE_INSTANCE = eINSTANCE.getType__CreateInstance();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.MetamodelImpl <em>Metamodel</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.MetamodelImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getMetamodel()
-		 * @generated
-		 */
-		EClass METAMODEL = eINSTANCE.getMetamodel();
-
-		/**
-		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute METAMODEL__NAME = eINSTANCE.getMetamodel_Name();
-
-		/**
-		 * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute METAMODEL__DESCRIPTION = eINSTANCE.getMetamodel_Description();
-
-		/**
-		 * The meta object literal for the '<em><b>Nsuri</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute METAMODEL__NSURI = eINSTANCE.getMetamodel_Nsuri();
-
-		/**
-		 * The meta object literal for the '<em><b>Plugin ID</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute METAMODEL__PLUGIN_ID = eINSTANCE.getMetamodel_PluginID();
-
-		/**
-		 * The meta object literal for the '<em><b>EPackage Instance Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute METAMODEL__EPACKAGE_INSTANCE_NAME = eINSTANCE.getMetamodel_EPackageInstanceName();
-
-		/**
-		 * The meta object literal for the '<em><b>Is Type Valid</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute METAMODEL__IS_TYPE_VALID = eINSTANCE.getMetamodel_IsTypeValid();
-
-		/**
-		 * The meta object literal for the '<em><b>Get EPackage</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation METAMODEL___GET_EPACKAGE = eINSTANCE.getMetamodel__GetEPackage();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TypeInstanceImpl <em>Type Instance</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -10434,7 +7298,7 @@
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EOperation LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR = eINSTANCE.getLayerOperatorDescriptor__SetPropertyCollectionSize__int_DefaultPropertyOperator();
+		EOperation LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_PROPERTYOPERATOR = eINSTANCE.getLayerOperatorDescriptor__SetPropertyCollectionSize__int_PropertyOperator();
 
 		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyOperatorImpl <em>Property Operator</em>}' class.
@@ -10455,54 +7319,44 @@
 		EAttribute PROPERTY_OPERATOR__NAME = eINSTANCE.getPropertyOperator_Name();
 
 		/**
+		 * The meta object literal for the '<em><b>Classname</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_OPERATOR__CLASSNAME = eINSTANCE.getPropertyOperator_Classname();
+
+		/**
+		 * The meta object literal for the '<em><b>Operator Instance</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PROPERTY_OPERATOR__OPERATOR_INSTANCE = eINSTANCE.getPropertyOperator_OperatorInstance();
+
+		/**
+		 * The meta object literal for the '<em><b>Class Bundle ID</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PROPERTY_OPERATOR__CLASS_BUNDLE_ID = eINSTANCE.getPropertyOperator_ClassBundleID();
+
+		/**
 		 * The meta object literal for the '<em><b>Get Compute Property Value Command</b></em>' operation.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EOperation PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST = eINSTANCE.getPropertyOperator__GetComputePropertyValueCommand__EList();
+		EOperation PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__LIST = eINSTANCE.getPropertyOperator__GetComputePropertyValueCommand__List();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerOperatorImpl <em>Abstract Layer Operator</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerOperatorImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getAbstractLayerOperator()
-		 * @generated
-		 */
-		EClass ABSTRACT_LAYER_OPERATOR = eINSTANCE.getAbstractLayerOperator();
-
-		/**
-		 * The meta object literal for the '<em><b>Layer Operator Descriptor</b></em>' reference feature.
+		 * The meta object literal for the '<em><b>Reset Operator Instance</b></em>' operation.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR = eINSTANCE.getAbstractLayerOperator_LayerOperatorDescriptor();
-
-		/**
-		 * The meta object literal for the '<em><b>Layer Operator Descriptor Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME = eINSTANCE.getAbstractLayerOperator_LayerOperatorDescriptorName();
-
-		/**
-		 * The meta object literal for the '<em><b>Is Descriptor Set</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation ABSTRACT_LAYER_OPERATOR___IS_DESCRIPTOR_SET = eINSTANCE.getAbstractLayerOperator__IsDescriptorSet();
-
-		/**
-		 * The meta object literal for the '<em><b>Reset Descriptor</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation ABSTRACT_LAYER_OPERATOR___RESET_DESCRIPTOR = eINSTANCE.getAbstractLayerOperator__ResetDescriptor();
+		EOperation PROPERTY_OPERATOR___RESET_OPERATOR_INSTANCE = eINSTANCE.getPropertyOperator__ResetOperatorInstance();
 
 		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorImpl <em>Layer Operator</em>}' class.
@@ -10523,6 +7377,38 @@
 		EReference LAYER_OPERATOR__LAYERS = eINSTANCE.getLayerOperator_Layers();
 
 		/**
+		 * The meta object literal for the '<em><b>Layer Operator Descriptor Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME = eINSTANCE.getLayerOperator_LayerOperatorDescriptorName();
+
+		/**
+		 * The meta object literal for the '<em><b>Layer Operator Descriptor</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR = eINSTANCE.getLayerOperator_LayerOperatorDescriptor();
+
+		/**
+		 * The meta object literal for the '<em><b>Is Descriptor Set</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation LAYER_OPERATOR___IS_DESCRIPTOR_SET = eINSTANCE.getLayerOperator__IsDescriptorSet();
+
+		/**
+		 * The meta object literal for the '<em><b>Reset Descriptor</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EOperation LAYER_OPERATOR___RESET_DESCRIPTOR = eINSTANCE.getLayerOperator__ResetDescriptor();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersContainer <em>Container</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -10541,16 +7427,6 @@
 		EOperation LAYERS_CONTAINER___ADD_LAYER__LAYEREXPRESSION = eINSTANCE.getLayersContainer__AddLayer__LayerExpression();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.DefaultPropertyOperatorImpl <em>Default Property Operator</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.DefaultPropertyOperatorImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getDefaultPropertyOperator()
-		 * @generated
-		 */
-		EClass DEFAULT_PROPERTY_OPERATOR = eINSTANCE.getDefaultPropertyOperator();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerImpl <em>Abstract Layer</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -10685,106 +7561,70 @@
 		EAttribute FOLDER__NAME = eINSTANCE.getFolder_Name();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IntInstanceImpl <em>Int Instance</em>}' class.
+		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.MetamodelImpl <em>Metamodel</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IntInstanceImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getIntInstance()
+		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.MetamodelImpl
+		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getMetamodel()
 		 * @generated
 		 */
-		EClass INT_INSTANCE = eINSTANCE.getIntInstance();
+		EClass METAMODEL = eINSTANCE.getMetamodel();
 
 		/**
-		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute INT_INSTANCE__VALUE = eINSTANCE.getIntInstance_Value();
+		EAttribute METAMODEL__NAME = eINSTANCE.getMetamodel_Name();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.BooleanInstanceImpl <em>Boolean Instance</em>}' class.
+		 * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.BooleanInstanceImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getBooleanInstance()
 		 * @generated
 		 */
-		EClass BOOLEAN_INSTANCE = eINSTANCE.getBooleanInstance();
+		EAttribute METAMODEL__DESCRIPTION = eINSTANCE.getMetamodel_Description();
 
 		/**
-		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Nsuri</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute BOOLEAN_INSTANCE__VALUE = eINSTANCE.getBooleanInstance_Value();
+		EAttribute METAMODEL__NSURI = eINSTANCE.getMetamodel_Nsuri();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringInstanceImpl <em>String Instance</em>}' class.
+		 * The meta object literal for the '<em><b>Plugin ID</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringInstanceImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStringInstance()
 		 * @generated
 		 */
-		EClass STRING_INSTANCE = eINSTANCE.getStringInstance();
+		EAttribute METAMODEL__PLUGIN_ID = eINSTANCE.getMetamodel_PluginID();
 
 		/**
-		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>EPackage Instance Name</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute STRING_INSTANCE__VALUE = eINSTANCE.getStringInstance_Value();
+		EAttribute METAMODEL__EPACKAGE_INSTANCE_NAME = eINSTANCE.getMetamodel_EPackageInstanceName();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IntTypeImpl <em>Int Type</em>}' class.
+		 * The meta object literal for the '<em><b>Is Type Valid</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IntTypeImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getIntType()
 		 * @generated
 		 */
-		EClass INT_TYPE = eINSTANCE.getIntType();
+		EAttribute METAMODEL__IS_TYPE_VALID = eINSTANCE.getMetamodel_IsTypeValid();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.BooleanTypeImpl <em>Boolean Type</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.BooleanTypeImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getBooleanType()
-		 * @generated
-		 */
-		EClass BOOLEAN_TYPE = eINSTANCE.getBooleanType();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringTypeImpl <em>String Type</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringTypeImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getStringType()
-		 * @generated
-		 */
-		EClass STRING_TYPE = eINSTANCE.getStringType();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomTypeImpl <em>Custom Type</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomTypeImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCustomType()
-		 * @generated
-		 */
-		EClass CUSTOM_TYPE = eINSTANCE.getCustomType();
-
-		/**
-		 * The meta object literal for the '<em><b>Classifier</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Get EPackage</b></em>' operation.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute CUSTOM_TYPE__CLASSIFIER = eINSTANCE.getCustomType_Classifier();
+		EOperation METAMODEL___GET_EPACKAGE = eINSTANCE.getMetamodel__GetEPackage();
 
 		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorImpl <em>Top Layer Operator</em>}' class.
@@ -10807,16 +7647,6 @@
 		EClass STACKED_LAYER_OPERATOR = eINSTANCE.getStackedLayerOperator();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomLayerOperatorImpl <em>Custom Layer Operator</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomLayerOperatorImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCustomLayerOperator()
-		 * @generated
-		 */
-		EClass CUSTOM_LAYER_OPERATOR = eINSTANCE.getCustomLayerOperator();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyIndexImpl <em>Property Index</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -10879,16 +7709,6 @@
 		EClass SIMPLE_LAYER_DESCRIPTOR = eINSTANCE.getSimpleLayerDescriptor();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerDescriptorImpl <em>Reg Exp Layer Descriptor</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerDescriptorImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getRegExpLayerDescriptor()
-		 * @generated
-		 */
-		EClass REG_EXP_LAYER_DESCRIPTOR = eINSTANCE.getRegExpLayerDescriptor();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullInstanceImpl <em>Null Instance</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -10907,128 +7727,6 @@
 		EOperation NULL_INSTANCE___GET_INSTANCE = eINSTANCE.getNullInstance__GetInstance();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl <em>Reg Exp Layer</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getRegExpLayer()
-		 * @generated
-		 */
-		EClass REG_EXP_LAYER = eINSTANCE.getRegExpLayer();
-
-		/**
-		 * The meta object literal for the '<em><b>Expr</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute REG_EXP_LAYER__EXPR = eINSTANCE.getRegExpLayer_Expr();
-
-		/**
-		 * The meta object literal for the '<em><b>Language</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute REG_EXP_LAYER__LANGUAGE = eINSTANCE.getRegExpLayer_Language();
-
-		/**
-		 * The meta object literal for the '<em><b>Is Domain Changed Event Dependant</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT = eINSTANCE.getRegExpLayer_IsDomainChangedEventDependant();
-
-		/**
-		 * The meta object literal for the '<em><b>Domain Changed Event Level</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL = eINSTANCE.getRegExpLayer_DomainChangedEventLevel();
-
-		/**
-		 * The meta object literal for the '<em><b>Is Diagram Changed Event Dependant</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT = eINSTANCE.getRegExpLayer_IsDiagramChangedEventDependant();
-
-		/**
-		 * The meta object literal for the '<em><b>Diagram Changed Event Level</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL = eINSTANCE.getRegExpLayer_DiagramChangedEventLevel();
-
-		/**
-		 * The meta object literal for the '<em><b>Expression Context Object Type</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE = eINSTANCE.getRegExpLayer_ExpressionContextObjectType();
-
-		/**
-		 * The meta object literal for the '<em><b>Activate</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation REG_EXP_LAYER___ACTIVATE__ABSTRACTLAYEROPERATOR = eINSTANCE.getRegExpLayer__Activate__AbstractLayerOperator();
-
-		/**
-		 * The meta object literal for the '<em><b>Deactivate</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation REG_EXP_LAYER___DEACTIVATE__ABSTRACTLAYEROPERATOR = eINSTANCE.getRegExpLayer__Deactivate__AbstractLayerOperator();
-
-		/**
-		 * The meta object literal for the '<em><b>Is Derived View</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation REG_EXP_LAYER___IS_DERIVED_VIEW__VIEW = eINSTANCE.getRegExpLayer__IsDerivedView__View();
-
-		/**
-		 * The meta object literal for the '<em><b>Attach Derived View</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation REG_EXP_LAYER___ATTACH_DERIVED_VIEW__VIEW = eINSTANCE.getRegExpLayer__AttachDerivedView__View();
-
-		/**
-		 * The meta object literal for the '<em><b>Attach Derived Views</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation REG_EXP_LAYER___ATTACH_DERIVED_VIEWS__ELIST = eINSTANCE.getRegExpLayer__AttachDerivedViews__EList();
-
-		/**
-		 * The meta object literal for the '<em><b>Attach Derived Views</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation REG_EXP_LAYER___ATTACH_DERIVED_VIEWS = eINSTANCE.getRegExpLayer__AttachDerivedViews();
-
-		/**
-		 * The meta object literal for the '<em><b>Lookup Derived Views</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation REG_EXP_LAYER___LOOKUP_DERIVED_VIEWS__ELIST = eINSTANCE.getRegExpLayer__LookupDerivedViews__EList();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerImpl <em>Layer</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -11039,90 +7737,6 @@
 		EClass LAYER = eINSTANCE.getLayer();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.ColorImpl <em>Color</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.ColorImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getColor()
-		 * @generated
-		 */
-		EClass COLOR = eINSTANCE.getColor();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.ColorInstanceImpl <em>Color Instance</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.ColorInstanceImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getColorInstance()
-		 * @generated
-		 */
-		EClass COLOR_INSTANCE = eINSTANCE.getColorInstance();
-
-		/**
-		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute COLOR_INSTANCE__VALUE = eINSTANCE.getColorInstance_Value();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillInstanceImpl <em>Fill Instance</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillInstanceImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFillInstance()
-		 * @generated
-		 */
-		EClass FILL_INSTANCE = eINSTANCE.getFillInstance();
-
-		/**
-		 * The meta object literal for the '<em><b>Transparency</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute FILL_INSTANCE__TRANSPARENCY = eINSTANCE.getFillInstance_Transparency();
-
-		/**
-		 * The meta object literal for the '<em><b>Fill Color</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference FILL_INSTANCE__FILL_COLOR = eINSTANCE.getFillInstance_FillColor();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillImpl <em>Fill</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFill()
-		 * @generated
-		 */
-		EClass FILL = eINSTANCE.getFill();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillPropertySetterImpl <em>Fill Property Setter</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillPropertySetterImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFillPropertySetter()
-		 * @generated
-		 */
-		EClass FILL_PROPERTY_SETTER = eINSTANCE.getFillPropertySetter();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsValidPropertySetterImpl <em>Is Valid Property Setter</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsValidPropertySetterImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getIsValidPropertySetter()
-		 * @generated
-		 */
-		EClass IS_VALID_PROPERTY_SETTER = eINSTANCE.getIsValidPropertySetter();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullPropertySetterImpl <em>Null Property Setter</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -11133,124 +7747,6 @@
 		EClass NULL_PROPERTY_SETTER = eINSTANCE.getNullPropertySetter();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LineTypeImpl <em>Line Type</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LineTypeImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLineType()
-		 * @generated
-		 */
-		EClass LINE_TYPE = eINSTANCE.getLineType();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LineInstanceImpl <em>Line Instance</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LineInstanceImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLineInstance()
-		 * @generated
-		 */
-		EClass LINE_INSTANCE = eINSTANCE.getLineInstance();
-
-		/**
-		 * The meta object literal for the '<em><b>Line Color</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute LINE_INSTANCE__LINE_COLOR = eINSTANCE.getLineInstance_LineColor();
-
-		/**
-		 * The meta object literal for the '<em><b>Line With</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute LINE_INSTANCE__LINE_WITH = eINSTANCE.getLineInstance_LineWith();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LinePropertySetterImpl <em>Line Property Setter</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LinePropertySetterImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getLinePropertySetter()
-		 * @generated
-		 */
-		EClass LINE_PROPERTY_SETTER = eINSTANCE.getLinePropertySetter();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontPropertySetterImpl <em>Font Property Setter</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontPropertySetterImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFontPropertySetter()
-		 * @generated
-		 */
-		EClass FONT_PROPERTY_SETTER = eINSTANCE.getFontPropertySetter();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontInstanceImpl <em>Font Instance</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontInstanceImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFontInstance()
-		 * @generated
-		 */
-		EClass FONT_INSTANCE = eINSTANCE.getFontInstance();
-
-		/**
-		 * The meta object literal for the '<em><b>Font Color</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute FONT_INSTANCE__FONT_COLOR = eINSTANCE.getFontInstance_FontColor();
-
-		/**
-		 * The meta object literal for the '<em><b>Font Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute FONT_INSTANCE__FONT_NAME = eINSTANCE.getFontInstance_FontName();
-
-		/**
-		 * The meta object literal for the '<em><b>Font Heigh</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute FONT_INSTANCE__FONT_HEIGH = eINSTANCE.getFontInstance_FontHeigh();
-
-		/**
-		 * The meta object literal for the '<em><b>Bold</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute FONT_INSTANCE__BOLD = eINSTANCE.getFontInstance_Bold();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontTypeImpl <em>Font Type</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontTypeImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getFontType()
-		 * @generated
-		 */
-		EClass FONT_TYPE = eINSTANCE.getFontType();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsVisiblePropertySetterImpl <em>Is Visible Property Setter</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsVisiblePropertySetterImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getIsVisiblePropertySetter()
-		 * @generated
-		 */
-		EClass IS_VISIBLE_PROPERTY_SETTER = eINSTANCE.getIsVisiblePropertySetter();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorDescriptorImpl <em>Top Layer Operator Descriptor</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -11271,78 +7767,6 @@
 		EClass STACKED_LAYER_OPERATOR_DESCRIPTOR = eINSTANCE.getStackedLayerOperatorDescriptor();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomPropertyOperatorImpl <em>Custom Property Operator</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomPropertyOperatorImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCustomPropertyOperator()
-		 * @generated
-		 */
-		EClass CUSTOM_PROPERTY_OPERATOR = eINSTANCE.getCustomPropertyOperator();
-
-		/**
-		 * The meta object literal for the '<em><b>Classname</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute CUSTOM_PROPERTY_OPERATOR__CLASSNAME = eINSTANCE.getCustomPropertyOperator_Classname();
-
-		/**
-		 * The meta object literal for the '<em><b>Operator Instance</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute CUSTOM_PROPERTY_OPERATOR__OPERATOR_INSTANCE = eINSTANCE.getCustomPropertyOperator_OperatorInstance();
-
-		/**
-		 * The meta object literal for the '<em><b>Class Bundle ID</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute CUSTOM_PROPERTY_OPERATOR__CLASS_BUNDLE_ID = eINSTANCE.getCustomPropertyOperator_ClassBundleID();
-
-		/**
-		 * The meta object literal for the '<em><b>Reset Operator Instance</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation CUSTOM_PROPERTY_OPERATOR___RESET_OPERATOR_INSTANCE = eINSTANCE.getCustomPropertyOperator__ResetOperatorInstance();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AndStackedLayerOperatorDescriptorImpl <em>And Stacked Layer Operator Descriptor</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AndStackedLayerOperatorDescriptorImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getAndStackedLayerOperatorDescriptor()
-		 * @generated
-		 */
-		EClass AND_STACKED_LAYER_OPERATOR_DESCRIPTOR = eINSTANCE.getAndStackedLayerOperatorDescriptor();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.OrStackedLayerOperatorDescriptorImpl <em>Or Stacked Layer Operator Descriptor</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.OrStackedLayerOperatorDescriptorImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getOrStackedLayerOperatorDescriptor()
-		 * @generated
-		 */
-		EClass OR_STACKED_LAYER_OPERATOR_DESCRIPTOR = eINSTANCE.getOrStackedLayerOperatorDescriptor();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsAbstractUmlSetterImpl <em>Is Abstract Uml Setter</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IsAbstractUmlSetterImpl
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getIsAbstractUmlSetter()
-		 * @generated
-		 */
-		EClass IS_ABSTRACT_UML_SETTER = eINSTANCE.getIsAbstractUmlSetter();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AllViewsDerivedLayerImpl <em>All Views Derived Layer</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -11475,25 +7899,6 @@
 		EDataType STRING = eINSTANCE.getString();
 
 		/**
-		 * The meta object literal for the '<em>boolean</em>' data type.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getboolean()
-		 * @generated
-		 */
-		EDataType BOOLEAN = eINSTANCE.getboolean();
-
-		/**
-		 * The meta object literal for the '<em>EPackage</em>' data type.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.emf.ecore.EPackage
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getEPackage()
-		 * @generated
-		 */
-		EDataType EPACKAGE = eINSTANCE.getEPackage();
-
-		/**
 		 * The meta object literal for the '<em>Exception</em>' data type.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -11543,6 +7948,25 @@
 		EDataType COMPUTE_PROPERTY_VALUE_COMMAND = eINSTANCE.getComputePropertyValueCommand();
 
 		/**
+		 * The meta object literal for the '<em>boolean</em>' data type.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getboolean()
+		 * @generated
+		 */
+		EDataType BOOLEAN = eINSTANCE.getboolean();
+
+		/**
+		 * The meta object literal for the '<em>EPackage</em>' data type.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.emf.ecore.EPackage
+		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getEPackage()
+		 * @generated
+		 */
+		EDataType EPACKAGE = eINSTANCE.getEPackage();
+
+		/**
 		 * The meta object literal for the '<em>Object</em>' data type.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -11552,16 +7976,6 @@
 		 */
 		EDataType OBJECT = eINSTANCE.getObject();
 
-		/**
-		 * The meta object literal for the '<em>Custom Property Opertor Instance</em>' data type.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersPackageImpl#getCustomPropertyOpertorInstance()
-		 * @generated
-		 */
-		EDataType CUSTOM_PROPERTY_OPERTOR_INSTANCE = eINSTANCE.getCustomPropertyOpertorInstance();
-
 	}
 
 } // LayersPackage
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersStack.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersStack.java
index e36344a..dd38b4f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersStack.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersStack.java
@@ -15,8 +15,6 @@
 
 import java.util.List;
 
-import org.eclipse.emf.common.util.EList;
-
 import org.eclipse.gmf.runtime.notation.Diagram;
 import org.eclipse.gmf.runtime.notation.View;
 
@@ -193,7 +191,7 @@
 	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ComputePropertyValueCommand" exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException" viewRequired="true" viewOrdered="false" propertyRequired="true" propertyMany="true"
 	 * @generated
 	 */
-	EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, EList<Property> property) throws LayersException;
+	List<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> property) throws LayersException;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -201,7 +199,7 @@
 	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ComputePropertyValueCommand" exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException" viewMany="true" propertyRequired="true" propertyOrdered="false"
 	 * @generated
 	 */
-	EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(EList<View> view, Property property) throws LayersException;
+	List<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> view, Property property) throws LayersException;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -280,25 +278,4 @@
 	 */
 	void exitAttachedState();
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @throws LayersException
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ComputePropertyValueCommand" viewRequired="true" viewOrdered="false" propertyRequired="true" propertyMany="true"
-	 * @generated NOT
-	 */
-	EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> property) throws LayersException;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @throws LayersException
-	 *             If something wrong happen during computation.
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ComputePropertyValueCommand" viewMany="true" propertyRequired="true" propertyOrdered="false"
-	 * @generated NOT
-	 */
-	EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> view, Property property) throws LayersException;
-
 } // LayersStack
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersStackApplication.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersStackApplication.java
index a8c3c3f..69306ef 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersStackApplication.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LayersStackApplication.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 import org.eclipse.gmf.runtime.notation.Diagram;
 
@@ -56,7 +56,7 @@
 	 * @model containment="true" ordered="false"
 	 * @generated
 	 */
-	EList<LayersStack> getLayersStacks();
+	List<LayersStack> getLayersStacks();
 
 	/**
 	 * Returns the value of the '<em><b>Layer Stack Registry</b></em>' containment reference.
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LineInstance.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LineInstance.java
deleted file mode 100755
index ac0ffba..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LineInstance.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Line Instance</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance#getLineColor <em>Line Color</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance#getLineWith <em>Line With</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getLineInstance()
- * @model
- * @generated
- */
-public interface LineInstance extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Line Color</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Line Color</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Line Color</em>' attribute.
-	 * @see #setLineColor(int)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getLineInstance_LineColor()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.int" required="true" ordered="false"
-	 * @generated
-	 */
-	int getLineColor();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance#getLineColor <em>Line Color</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Line Color</em>' attribute.
-	 * @see #getLineColor()
-	 * @generated
-	 */
-	void setLineColor(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Line With</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Line With</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Line With</em>' attribute.
-	 * @see #setLineWith(int)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getLineInstance_LineWith()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.int" required="true" ordered="false"
-	 * @generated
-	 */
-	int getLineWith();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance#getLineWith <em>Line With</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Line With</em>' attribute.
-	 * @see #getLineWith()
-	 * @generated
-	 */
-	void setLineWith(int value);
-
-} // LineInstance
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LinePropertySetter.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LinePropertySetter.java
deleted file mode 100755
index f3a9cd8..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LinePropertySetter.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Line Property Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getLinePropertySetter()
- * @model
- * @generated
- */
-public interface LinePropertySetter extends PropertySetter {
-} // LinePropertySetter
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LineType.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LineType.java
deleted file mode 100755
index 23c294b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/LineType.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Line Type</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getLineType()
- * @model
- * @generated
- */
-public interface LineType extends Type {
-} // LineType
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/NullInstance.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/NullInstance.java
index 01940b6..7c48064 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/NullInstance.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/NullInstance.java
@@ -26,11 +26,10 @@
  */
 public interface NullInstance extends TypeInstance {
 
-	public static NullInstance NULLINSTANCE = LayersFactory.eINSTANCE.createNullInstance();
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @model kind="operation" required="true" ordered="false"
 	 * @generated
 	 */
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/OrStackedLayerOperatorDescriptor.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/OrStackedLayerOperatorDescriptor.java
deleted file mode 100755
index 1653d86..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/OrStackedLayerOperatorDescriptor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Or Stacked Layer Operator Descriptor</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getOrStackedLayerOperatorDescriptor()
- * @model
- * @generated
- */
-public interface OrStackedLayerOperatorDescriptor extends StackedLayerOperatorDescriptor {
-} // OrStackedLayerOperatorDescriptor
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Package.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Package.java
deleted file mode 100755
index 760b945..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Package.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-import org.eclipse.emf.common.util.EList;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Package</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Package#getElements <em>Elements</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPackage()
- * @model
- * @generated
- */
-public interface Package extends PackageableElement {
-	/**
-	 * Returns the value of the '<em><b>Elements</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PackageableElement}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Elements</em>' containment reference list isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Elements</em>' containment reference list.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPackage_Elements()
-	 * @model containment="true" ordered="false"
-	 * @generated
-	 */
-	EList<PackageableElement> getElements();
-
-} // Package
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PackageableElement.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PackageableElement.java
deleted file mode 100755
index 1c960ee..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PackageableElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Packageable Element</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPackageableElement()
- * @model
- * @generated
- */
-public interface PackageableElement extends EObject {
-} // PackageableElement
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyDescriptor.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyDescriptor.java
deleted file mode 100755
index 5c0dc2e..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyDescriptor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Property Descriptor</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPropertyDescriptor()
- * @model
- * @generated
- */
-public interface PropertyDescriptor extends EObject {
-} // PropertyDescriptor
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyOperator.java
index 5471a84..08eac24 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyOperator.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyOperator.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -31,6 +31,9 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getClassname <em>Classname</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getOperatorInstance <em>Operator Instance</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getClassBundleID <em>Class Bundle ID</em>}</li>
  * </ul>
  *
  * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPropertyOperator()
@@ -65,11 +68,97 @@
 	void setName(String value);
 
 	/**
+	 * Returns the value of the '<em><b>Classname</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Classname</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Classname</em>' attribute.
+	 * @see #setClassname(String)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPropertyOperator_Classname()
+	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getClassname();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getClassname <em>Classname</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Classname</em>' attribute.
+	 * @see #getClassname()
+	 * @generated
+	 */
+	void setClassname(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Operator Instance</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Operator Instance</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Operator Instance</em>' reference.
+	 * @see #setOperatorInstance(PropertyOperator)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPropertyOperator_OperatorInstance()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	PropertyOperator getOperatorInstance();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getOperatorInstance <em>Operator Instance</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Operator Instance</em>' reference.
+	 * @see #getOperatorInstance()
+	 * @generated
+	 */
+	void setOperatorInstance(PropertyOperator value);
+
+	/**
+	 * Returns the value of the '<em><b>Class Bundle ID</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Class Bundle ID</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Class Bundle ID</em>' attribute.
+	 * @see #setClassBundleID(String)
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPropertyOperator_ClassBundleID()
+	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
+	 * @generated
+	 */
+	String getClassBundleID();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator#getClassBundleID <em>Class Bundle ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Class Bundle ID</em>' attribute.
+	 * @see #getClassBundleID()
+	 * @generated
+	 */
+	void setClassBundleID(String value);
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ComputePropertyValueCommand" required="true" ordered="false" exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException" propertyDataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ComputePropertyValueCommand" propertyMany="true"
 	 * @generated
 	 */
-	ComputePropertyValueCommand getComputePropertyValueCommand(EList<ComputePropertyValueCommand> property) throws LayersException;
+	ComputePropertyValueCommand getComputePropertyValueCommand(List<ComputePropertyValueCommand> property) throws LayersException;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException"
+	 * @generated
+	 */
+	void resetOperatorInstance() throws LayersException;
 
 } // PropertyOperator
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyRegistry.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyRegistry.java
index e907a91..9175b29 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyRegistry.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyRegistry.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
+import java.util.List;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -52,7 +52,7 @@
 	 * @model containment="true"
 	 * @generated
 	 */
-	EList<Property> getProperties();
+	List<Property> getProperties();
 
 	/**
 	 * Returns the value of the '<em><b>Type Registry</b></em>' containment reference.
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertySetter.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertySetter.java
index f30b5b9..558f035 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertySetter.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertySetter.java
@@ -26,8 +26,8 @@
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter#getProperty <em>Property</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter#getPropertyName <em>Property Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter#getProperty <em>Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter#getPropertyName <em>Property Name</em>}</li>
  * </ul>
  *
  * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPropertySetter()
@@ -36,9 +36,6 @@
  */
 public interface PropertySetter extends EObject {
 
-
-	public static PropertySetter NULL_PROPERTY_SETTER = LayersFactory.eINSTANCE.createNullPropertySetter();
-
 	/**
 	 * Returns the value of the '<em><b>Property</b></em>' reference.
 	 * <!-- begin-user-doc -->
@@ -47,6 +44,7 @@
 	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
+	 * 
 	 * @return the value of the '<em>Property</em>' reference.
 	 * @see #setProperty(Property)
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPropertySetter_Property()
@@ -59,7 +57,9 @@
 	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter#getProperty <em>Property</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Property</em>' reference.
+	 * 
+	 * @param value
+	 *            the new value of the '<em>Property</em>' reference.
 	 * @see #getProperty()
 	 * @generated
 	 */
@@ -73,6 +73,7 @@
 	 * there really should be more of a description here...
 	 * </p>
 	 * <!-- end-user-doc -->
+	 * 
 	 * @return the value of the '<em>Property Name</em>' attribute.
 	 * @see #setPropertyName(String)
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPropertySetter_PropertyName()
@@ -85,7 +86,9 @@
 	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter#getPropertyName <em>Property Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Property Name</em>' attribute.
+	 * 
+	 * @param value
+	 *            the new value of the '<em>Property Name</em>' attribute.
 	 * @see #getPropertyName()
 	 * @generated
 	 */
@@ -94,6 +97,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @model viewRequired="true" viewOrdered="false" valueRequired="true" valueOrdered="false"
 	 * @generated
 	 */
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertySetterRegistry.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertySetterRegistry.java
index bc6925b..b5f0815 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertySetterRegistry.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertySetterRegistry.java
@@ -13,8 +13,8 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.EMap;
+import java.util.List;
+import java.util.Map;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -53,7 +53,7 @@
 	 * @model
 	 * @generated
 	 */
-	EList<PropertySetter> getPropertySetters();
+	List<PropertySetter> getPropertySetters();
 
 	/**
 	 * Returns the value of the '<em><b>Setter Map</b></em>' map.
@@ -70,7 +70,7 @@
 	 * @model mapType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringToPropertySetter&lt;org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter&gt;" ordered="false"
 	 * @generated
 	 */
-	EMap<String, PropertySetter> getSetterMap();
+	Map<String, PropertySetter> getSetterMap();
 
 	/**
 	 * Returns the value of the '<em><b>Application</b></em>' container reference.
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyValue.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyValue.java
deleted file mode 100755
index 94126a1..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/PropertyValue.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Property Value</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getPropertyValue()
- * @model abstract="true"
- * @generated
- */
-public interface PropertyValue extends EObject {
-} // PropertyValue
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/RegExpLayer.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/RegExpLayer.java
deleted file mode 100755
index 51aa6a9..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/RegExpLayer.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.gmf.runtime.notation.View;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Reg Exp Layer</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getExpr <em>Expr</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getLanguage <em>Language</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#isDomainChangedEventDependant <em>Is Domain Changed Event Dependant</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getDomainChangedEventLevel <em>Domain Changed Event Level</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#isDiagramChangedEventDependant <em>Is Diagram Changed Event Dependant</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getDiagramChangedEventLevel <em>Diagram Changed Event Level</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getExpressionContextObjectType <em>Expression Context Object Type</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getRegExpLayer()
- * @model
- * @generated
- */
-public interface RegExpLayer extends AbstractLayer {
-	/**
-	 * Returns the value of the '<em><b>Expr</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Expr</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Expr</em>' attribute.
-	 * @see #setExpr(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getRegExpLayer_Expr()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getExpr();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getExpr <em>Expr</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Expr</em>' attribute.
-	 * @see #getExpr()
-	 * @generated
-	 */
-	void setExpr(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Language</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Language</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Language</em>' attribute.
-	 * @see #setLanguage(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getRegExpLayer_Language()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getLanguage();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getLanguage <em>Language</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Language</em>' attribute.
-	 * @see #getLanguage()
-	 * @generated
-	 */
-	void setLanguage(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Is Domain Changed Event Dependant</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Is Domain Changed Event Dependant</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Is Domain Changed Event Dependant</em>' attribute.
-	 * @see #setIsDomainChangedEventDependant(boolean)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getRegExpLayer_IsDomainChangedEventDependant()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.boolean" required="true" ordered="false"
-	 * @generated
-	 */
-	boolean isDomainChangedEventDependant();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#isDomainChangedEventDependant <em>Is Domain Changed Event Dependant</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Is Domain Changed Event Dependant</em>' attribute.
-	 * @see #isDomainChangedEventDependant()
-	 * @generated
-	 */
-	void setIsDomainChangedEventDependant(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Domain Changed Event Level</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Domain Changed Event Level</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Domain Changed Event Level</em>' attribute.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel
-	 * @see #setDomainChangedEventLevel(EventLevel)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getRegExpLayer_DomainChangedEventLevel()
-	 * @model required="true" ordered="false"
-	 * @generated
-	 */
-	EventLevel getDomainChangedEventLevel();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getDomainChangedEventLevel <em>Domain Changed Event Level</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Domain Changed Event Level</em>' attribute.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel
-	 * @see #getDomainChangedEventLevel()
-	 * @generated
-	 */
-	void setDomainChangedEventLevel(EventLevel value);
-
-	/**
-	 * Returns the value of the '<em><b>Is Diagram Changed Event Dependant</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Is Diagram Changed Event Dependant</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Is Diagram Changed Event Dependant</em>' attribute.
-	 * @see #setIsDiagramChangedEventDependant(boolean)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getRegExpLayer_IsDiagramChangedEventDependant()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.boolean" required="true" ordered="false"
-	 * @generated
-	 */
-	boolean isDiagramChangedEventDependant();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#isDiagramChangedEventDependant <em>Is Diagram Changed Event Dependant</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Is Diagram Changed Event Dependant</em>' attribute.
-	 * @see #isDiagramChangedEventDependant()
-	 * @generated
-	 */
-	void setIsDiagramChangedEventDependant(boolean value);
-
-	/**
-	 * Returns the value of the '<em><b>Diagram Changed Event Level</b></em>' attribute.
-	 * The literals are from the enumeration {@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Diagram Changed Event Level</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Diagram Changed Event Level</em>' attribute.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel
-	 * @see #setDiagramChangedEventLevel(EventLevel)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getRegExpLayer_DiagramChangedEventLevel()
-	 * @model required="true" ordered="false"
-	 * @generated
-	 */
-	EventLevel getDiagramChangedEventLevel();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getDiagramChangedEventLevel <em>Diagram Changed Event Level</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Diagram Changed Event Level</em>' attribute.
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel
-	 * @see #getDiagramChangedEventLevel()
-	 * @generated
-	 */
-	void setDiagramChangedEventLevel(EventLevel value);
-
-	/**
-	 * Returns the value of the '<em><b>Expression Context Object Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Expression Context Object Type</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Expression Context Object Type</em>' attribute.
-	 * @see #setExpressionContextObjectType(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getRegExpLayer_ExpressionContextObjectType()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getExpressionContextObjectType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer#getExpressionContextObjectType <em>Expression Context Object Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Expression Context Object Type</em>' attribute.
-	 * @see #getExpressionContextObjectType()
-	 * @generated
-	 */
-	void setExpressionContextObjectType(String value);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model newParentLayerRequired="true" newParentLayerOrdered="false"
-	 * @generated
-	 */
-	void activate(AbstractLayerOperator newParentLayer);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model oldParentLayerRequired="true" oldParentLayerOrdered="false"
-	 * @generated
-	 */
-	void deactivate(AbstractLayerOperator oldParentLayer);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.boolean" required="true" ordered="false" exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException" viewRequired="true" viewOrdered="false"
-	 * @generated
-	 */
-	boolean isDerivedView(View view) throws LayersException;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException" viewRequired="true" viewOrdered="false"
-	 * @generated
-	 */
-	void attachDerivedView(View view) throws LayersException;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException" viewsMany="true" viewsOrdered="false"
-	 * @generated
-	 */
-	void attachDerivedViews(EList<View> views) throws LayersException;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException"
-	 * @generated
-	 */
-	void attachDerivedViews() throws LayersException;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model ordered="false" exceptions="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersException" viewsMany="true" viewsOrdered="false"
-	 * @generated
-	 */
-	EList<View> lookupDerivedViews(EList<View> views) throws LayersException;
-
-} // RegExpLayer
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/RegExpLayerDescriptor.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/RegExpLayerDescriptor.java
deleted file mode 100755
index c85188d..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/RegExpLayerDescriptor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Reg Exp Layer Descriptor</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getRegExpLayerDescriptor()
- * @model
- * @generated
- */
-public interface RegExpLayerDescriptor extends LayerDescriptor {
-} // RegExpLayerDescriptor
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StackedLayerOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StackedLayerOperator.java
index bf9fbd7..6fccca3 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StackedLayerOperator.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StackedLayerOperator.java
@@ -24,5 +24,5 @@
  * @model
  * @generated
  */
-public interface StackedLayerOperator extends AbstractLayerOperator {
+public interface StackedLayerOperator extends LayerOperator {
 } // StackedLayerOperator
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringInstance.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringInstance.java
deleted file mode 100755
index 392197b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringInstance.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>String Instance</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getStringInstance()
- * @model
- * @generated
- */
-public interface StringInstance extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getStringInstance_Value()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(String value);
-
-} // StringInstance
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringPropertyValue.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringPropertyValue.java
deleted file mode 100755
index 0a95f7b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringPropertyValue.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>String Property Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringPropertyValue#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getStringPropertyValue()
- * @model
- * @generated
- */
-public interface StringPropertyValue extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getStringPropertyValue_Value()
-	 * @model unique="false" dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringPropertyValue#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(String value);
-
-} // StringPropertyValue
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringToTypeInstanceMap.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringToTypeInstanceMap.java
deleted file mode 100755
index 1651a5a..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringToTypeInstanceMap.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>String To Type Instance Map</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringToTypeInstanceMap#getKey <em>Key</em>}</li>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringToTypeInstanceMap#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getStringToTypeInstanceMap()
- * @model
- * @generated
- */
-public interface StringToTypeInstanceMap extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Key</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Key</em>' attribute isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Key</em>' attribute.
-	 * @see #setKey(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getStringToTypeInstanceMap_Key()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getKey();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringToTypeInstanceMap#getKey <em>Key</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Key</em>' attribute.
-	 * @see #getKey()
-	 * @generated
-	 */
-	void setKey(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' reference isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Value</em>' reference.
-	 * @see #setValue(TypeInstance)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getStringToTypeInstanceMap_Value()
-	 * @model required="true" ordered="false"
-	 * @generated
-	 */
-	TypeInstance getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringToTypeInstanceMap#getValue <em>Value</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Value</em>' reference.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(TypeInstance value);
-
-} // StringToTypeInstanceMap
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringType.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringType.java
deleted file mode 100755
index e29e435..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringType.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2013, 2017 CEA LIST & LIFL 
- * 
- * 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:
- *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *   Quentin Le Menez quentin.lemenez@cea.fr
- * 
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>String Type</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getStringType()
- * @model
- * @generated
- */
-public interface StringType extends Type {
-} // StringType
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringValue.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringValue.java
deleted file mode 100755
index 65bbcf3..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/StringValue.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
-
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>String Value</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringValue#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getStringValue()
- * @model
- * @generated
- */
-public interface StringValue extends TypeInstance {
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 *
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(String)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getStringValue_Value()
-	 * @model dataType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String" required="true" ordered="false"
-	 * @generated
-	 */
-	String getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringValue#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param value
-	 *            the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(String value);
-
-} // StringValue
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/TopLayerOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/TopLayerOperator.java
index 3bd7a67..7464f09 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/TopLayerOperator.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/TopLayerOperator.java
@@ -24,5 +24,5 @@
  * @model
  * @generated
  */
-public interface TopLayerOperator extends AbstractLayerOperator {
+public interface TopLayerOperator extends LayerOperator {
 } // TopLayerOperator
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Type.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Type.java
index 7ccdc71..3321be8 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Type.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/Type.java
@@ -23,7 +23,6 @@
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type#getMetamodel <em>Metamodel</em>}</li>
  *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type#getDescription <em>Description</em>}</li>
  * </ul>
@@ -34,32 +33,6 @@
  */
 public interface Type extends FolderElement {
 	/**
-	 * Returns the value of the '<em><b>Metamodel</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Metamodel</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Metamodel</em>' reference.
-	 * @see #setMetamodel(Metamodel)
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#getType_Metamodel()
-	 * @model required="true" ordered="false"
-	 * @generated
-	 */
-	Metamodel getMetamodel();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type#getMetamodel <em>Metamodel</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Metamodel</em>' reference.
-	 * @see #getMetamodel()
-	 * @generated
-	 */
-	void setMetamodel(Metamodel value);
-
-	/**
 	 * Returns the value of the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/TypeRegistry.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/TypeRegistry.java
index 457fbb8..7a180f5 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/TypeRegistry.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/TypeRegistry.java
@@ -13,7 +13,7 @@
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers;
 
-import org.eclipse.emf.common.util.EMap;
+import java.util.Map;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -49,6 +49,6 @@
 	 * @model mapType="org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringToTypeMap&lt;org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.String, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type&gt;" ordered="false"
 	 * @generated
 	 */
-	EMap<String, Type> getTypes();
+	Map<String, Type> getTypes();
 
 } // TypeRegistry
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AbstractLayerImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AbstractLayerImpl.java
index 07fce66..ec68152 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AbstractLayerImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AbstractLayerImpl.java
@@ -1,22 +1,25 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
 
 import java.lang.reflect.InvocationTargetException;
+
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 import java.util.Map.Entry;
 
 import org.eclipse.emf.common.notify.Adapter;
@@ -26,13 +29,17 @@
 import org.eclipse.emf.common.util.BasicEList;
 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.util.EObjectResolvingEList;
 import org.eclipse.emf.ecore.util.EcoreEMap;
 import org.eclipse.emf.ecore.util.InternalEList;
+
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.BadStateException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
@@ -40,6 +47,7 @@
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayer;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptor;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
@@ -128,6 +136,8 @@
 	/**
 	 * Start the behaviors associated to this layer.
 	 * This method is called by one of the methods: {@link #startAfterReloading()} or {@link #attachToLayersStack(LayersStack)}.
+	 * 
+	 * @generated NOT
 	 */
 	@Override
 	protected void startBehaviors() {
@@ -152,8 +162,7 @@
 	 * @generated NOT
 	 */
 	@Override
-	@SuppressWarnings("serial")
-	public EList<TypeInstance> getPropertyValues() {
+	public List<TypeInstance> getPropertyValues() {
 		if (propertyValues == null) {
 			propertyValues = new EObjectResolvingEList<TypeInstance>(TypeInstance.class, this, LayersPackage.ABSTRACT_LAYER__PROPERTY_VALUES) {
 
@@ -174,11 +183,11 @@
 	 * @generated
 	 */
 	@Override
-	public EMap<String, TypeInstance> getPropertyValueMap() {
+	public Map<String, TypeInstance> getPropertyValueMap() {
 		if (propertyValueMap == null) {
 			propertyValueMap = new EcoreEMap<String, TypeInstance>(LayersPackage.Literals.STRING_TO_TYPE_INSTANCE_MAP, StringToTypeInstanceMapImpl.class, this, LayersPackage.ABSTRACT_LAYER__PROPERTY_VALUE_MAP);
 		}
-		return propertyValueMap;
+		return propertyValueMap.map();
 	}
 
 	/**
@@ -231,7 +240,7 @@
 	 * @generated
 	 */
 	@Override
-	public EList<View> getViews() {
+	public List<View> getViews() {
 		if (views == null) {
 			views = new EObjectResolvingEList<View>(View.class, this, LayersPackage.ABSTRACT_LAYER__VIEWS);
 		}
@@ -245,7 +254,7 @@
 	 * @generated NOT
 	 */
 	@Override
-	public EList<Property> getAttachedProperties() {
+	public List<Property> getAttachedProperties() {
 
 		// Silly implementation:
 		// walk existing instance keys, and get there descriptor
@@ -253,9 +262,9 @@
 		// TODO: improve this method: have a list updated when an instance is
 		// added or removed.
 
-		EList<Property> res = new BasicEList<Property>();
+		List<Property> res = new BasicEList<Property>();
 
-		for (Entry<String, TypeInstance> entry : getPropertyValueMap()) {
+		for (Entry<String, TypeInstance> entry : getPropertyValueMap().entrySet()) {
 			String propertyName = entry.getKey();
 
 			try {
@@ -345,7 +354,7 @@
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
 		case LayersPackage.ABSTRACT_LAYER__PROPERTY_VALUE_MAP:
-			return ((InternalEList<?>) getPropertyValueMap()).basicRemove(otherEnd, msgs);
+			return ((InternalEList<?>) ((EMap.InternalMapView<String, TypeInstance>) getPropertyValueMap()).eMap()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -363,9 +372,9 @@
 			return getPropertyValues();
 		case LayersPackage.ABSTRACT_LAYER__PROPERTY_VALUE_MAP:
 			if (coreType)
-				return getPropertyValueMap();
+				return ((EMap.InternalMapView<String, TypeInstance>) getPropertyValueMap()).eMap();
 			else
-				return getPropertyValueMap().map();
+				return getPropertyValueMap();
 		case LayersPackage.ABSTRACT_LAYER__LAYER_DESCRIPTOR:
 			if (resolve)
 				return getLayerDescriptor();
@@ -393,7 +402,7 @@
 			getPropertyValues().addAll((Collection<? extends TypeInstance>) newValue);
 			return;
 		case LayersPackage.ABSTRACT_LAYER__PROPERTY_VALUE_MAP:
-			((EStructuralFeature.Setting) getPropertyValueMap()).set(newValue);
+			((EStructuralFeature.Setting) ((EMap.InternalMapView<String, TypeInstance>) getPropertyValueMap()).eMap()).set(newValue);
 			return;
 		case LayersPackage.ABSTRACT_LAYER__LAYER_DESCRIPTOR:
 			setLayerDescriptor((LayerDescriptor) newValue);
@@ -502,6 +511,7 @@
 	 * Synchronize the values with instances found in {@link #propertyValueMap}.
 	 *
 	 * @throws BadStateException
+	 * @generated NOT
 	 */
 	protected void resetAllPropertyValuesFromRegistry() throws BadStateException {
 
@@ -534,7 +544,7 @@
 			// That the list will have the correct size.
 			TypeInstance instance = getPropertyValueMap().get(propertyName);
 			if (instance == null) {
-				instance = NullInstance.NULLINSTANCE;
+				instance = LayersFactory.eINSTANCE.createNullInstance();
 			}
 			getPropertyValues().add(instance);
 		}
@@ -546,6 +556,8 @@
 	 * @param propertyName
 	 * @param value
 	 * @throws NotFoundException
+	 * 
+	 * @generated NOT
 	 */
 	protected void synchronizePropertyValue(String propertyName, TypeInstance value) throws BadStateException, NotFoundException {
 
@@ -567,7 +579,7 @@
 	/**
 	 * This class listen to #propertyValueMap, and synchronize propertyValues accordingly.
 	 *
-	 *
+	 * @generated NOT
 	 */
 	public class PropertyValuesSynchronizer extends AdapterImpl {
 
@@ -664,7 +676,7 @@
 
 				// Add the corresponding instance to propertyValues
 				try {
-					synchronizePropertyValue(entry.getKey(), NullInstance.NULLINSTANCE);
+					synchronizePropertyValue(entry.getKey(), LayersFactory.eINSTANCE.createNullInstance());
 				} catch (LayersException e) {
 					// should not happen
 					e.printStackTrace();
@@ -718,6 +730,8 @@
 	 * @param property
 	 * @return
 	 * @throws LayersException
+	 * 
+	 * @generated NOT
 	 */
 	@Override
 	public ComputePropertyValueCommand getComputePropertyValueCommand(View view, Property property) throws LayersException {
@@ -744,6 +758,8 @@
 	 * @param property
 	 * @return
 	 * @throws LayersException
+	 * 
+	 * @generated NOT
 	 */
 	@Override
 	public EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> properties) throws LayersException {
@@ -789,6 +805,8 @@
 	 * @param property
 	 * @return
 	 * @throws LayersException
+	 * 
+	 * @generated NOT
 	 */
 	@Override
 	public EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> views, Property property) throws LayersException {
@@ -830,23 +848,4 @@
 		}
 	}
 
-	/**
-	 * Get the LayersStack that own directly or indirectly this Layer.
-	 * Throw an exception if no {@link LayersStack} can be found. <br>
-	 * Lookup is done recursively in parent containers.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getLayersStack()
-	 *
-	 * @return
-	 * @throws NotFoundException
-	 */
-	// @Override
-	// public LayersStack getLayersStack() throws NotFoundException {
-	// // TODO: performance improvment. It is possible to avoid the lookup
-	// // by caching the LayersStack, or by setting a corresponding property
-	// // in the model
-	// return (LayersStack)ECoreUtils.lookupAncestorOfType(this, LayersPackage.eINSTANCE.getLayersStack());
-	// }
-
-
 } // AbstractLayerImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AbstractLayerOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AbstractLayerOperatorImpl.java
deleted file mode 100755
index db04a2f..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AbstractLayerOperatorImpl.java
+++ /dev/null
@@ -1,488 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Abstract Layer Operator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerOperatorImpl#getLayerOperatorDescriptor <em>Layer Operator Descriptor</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerOperatorImpl#getLayerOperatorDescriptorName <em>Layer Operator Descriptor Name</em>}</li>
- * </ul>
- *
- * @generated
- */
-public abstract class AbstractLayerOperatorImpl extends LayerOperatorImpl implements AbstractLayerOperator {
-	/**
-	 * The cached value of the '{@link #getLayerOperatorDescriptor() <em>Layer Operator Descriptor</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLayerOperatorDescriptor()
-	 * @generated
-	 * @ordered
-	 */
-	protected LayerOperatorDescriptor layerOperatorDescriptor;
-
-	/**
-	 * The default value of the '{@link #getLayerOperatorDescriptorName() <em>Layer Operator Descriptor Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLayerOperatorDescriptorName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String LAYER_OPERATOR_DESCRIPTOR_NAME_EDEFAULT = null;
-	/**
-	 * The cached value of the '{@link #getLayerOperatorDescriptorName() <em>Layer Operator Descriptor Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLayerOperatorDescriptorName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String layerOperatorDescriptorName = LAYER_OPERATOR_DESCRIPTOR_NAME_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected AbstractLayerOperatorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.ABSTRACT_LAYER_OPERATOR;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public LayerOperatorDescriptor getLayerOperatorDescriptor() {
-		if (layerOperatorDescriptor != null && layerOperatorDescriptor.eIsProxy()) {
-			InternalEObject oldLayerOperatorDescriptor = (InternalEObject)layerOperatorDescriptor;
-			layerOperatorDescriptor = (LayerOperatorDescriptor)eResolveProxy(oldLayerOperatorDescriptor);
-			if (layerOperatorDescriptor != oldLayerOperatorDescriptor) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR, oldLayerOperatorDescriptor, layerOperatorDescriptor));
-			}
-		}
-		return layerOperatorDescriptor;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public LayerOperatorDescriptor basicGetLayerOperatorDescriptor() {
-		return layerOperatorDescriptor;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setLayerOperatorDescriptor(LayerOperatorDescriptor newLayerOperatorDescriptor) {
-		LayerOperatorDescriptor oldLayerOperatorDescriptor = layerOperatorDescriptor;
-		layerOperatorDescriptor = newLayerOperatorDescriptor;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR, oldLayerOperatorDescriptor, layerOperatorDescriptor));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getLayerOperatorDescriptorName() {
-		return layerOperatorDescriptorName;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setLayerOperatorDescriptorName(String newLayerOperatorDescriptorName) {
-
-		// Avoid recursive call if name is the same
-		if (newLayerOperatorDescriptorName.equals(layerOperatorDescriptorName)) {
-			return;
-		}
-
-		String oldLayerOperatorDescriptorName = layerOperatorDescriptorName;
-		layerOperatorDescriptorName = newLayerOperatorDescriptorName;
-		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME, oldLayerOperatorDescriptorName, layerOperatorDescriptorName));
-		}
-
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public boolean isDescriptorSet() {
-		return getLayerOperatorDescriptor() != null;
-	}
-
-	/**
-	 * Reset the descriptor accordingly to the descriptor name.
-	 * The descriptor is resseted only if the ::application and ::layerOperatorDescriptorName are set.
-	 * Nothing is done if one of the attribute is not set.
-	 * Nothing is done if the descriptor can not be found (maybe a log is issue).
-	 * <!-- begin-user-doc -->
-	 * Not used ?
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void resetDescriptor() {
-
-		if (getApplication() == null) {
-			return;
-		}
-		if (getLayerOperatorDescriptorName() == null) {
-			return;
-		}
-
-		try {
-			LayerOperatorDescriptor descriptor = application.getLayerOperatorDescriptorRegistry().getLayerOperatorDescriptor(getLayerOperatorDescriptorName());
-			setLayerOperatorDescriptor(descriptor);
-		} catch (NotFoundException e) {
-			log.error("LOG - " + this.getClass().getName() + " - " + e.getMessage(), e);
-		}
-
-	}
-
-	/**
-	 * Override in order to call {@link #resetDescriptor()}
-	 *
-	 * @param newApplication
-	 */
-	// @Override
-	// public void setApplication(LayersStackApplication newApplication) {
-	// super.setApplication(newApplication);
-	// resetDescriptor();
-	// }
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public boolean isLayerEnabledInternal() {
-		return isLayerEnabled() && isDescriptorSet();
-	}
-
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR:
-				if (resolve) return getLayerOperatorDescriptor();
-				return basicGetLayerOperatorDescriptor();
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
-				return getLayerOperatorDescriptorName();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR:
-				setLayerOperatorDescriptor((LayerOperatorDescriptor)newValue);
-				return;
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
-				setLayerOperatorDescriptorName((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR:
-				setLayerOperatorDescriptor((LayerOperatorDescriptor)null);
-				return;
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
-				setLayerOperatorDescriptorName(LAYER_OPERATOR_DESCRIPTOR_NAME_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR:
-				return layerOperatorDescriptor != null;
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
-				return LAYER_OPERATOR_DESCRIPTOR_NAME_EDEFAULT == null ? layerOperatorDescriptorName != null : !LAYER_OPERATOR_DESCRIPTOR_NAME_EDEFAULT.equals(layerOperatorDescriptorName);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
-		switch (operationID) {
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR___IS_DESCRIPTOR_SET:
-				return isDescriptorSet();
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR___RESET_DESCRIPTOR:
-				resetDescriptor();
-				return null;
-		}
-		return super.eInvoke(operationID, arguments);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (layerOperatorDescriptorName: "); //$NON-NLS-1$
-		result.append(layerOperatorDescriptorName);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * Get the command to compute the required property value.
-	 * Walk all layers and collect the non null command for the property and view.
-	 * Then return the command provided by a call to the properties'operator(collectedCmd).
-	 *
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property)
-	 *
-	 * @param view
-	 * @param property
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public ComputePropertyValueCommand getComputePropertyValueCommand(View view, Property property) throws LayersException {
-
-		// Do nothing if the layer is disable.
-		if (!isLayerEnabled()) {
-			return null;
-		}
-
-
-		// The list of commands provided by each layers
-		EList<ComputePropertyValueCommand> collectedCmds = new BasicEList<ComputePropertyValueCommand>(getLayers().size());
-
-		// Walk all layers and return the first cmd that is not null for specified view and proerty.
-		for (LayerExpression layer : getLayers()) {
-
-			ComputePropertyValueCommand cmd = layer.getComputePropertyValueCommand(view, property);
-			if (cmd != null) {
-				collectedCmds.add(cmd);
-			}
-		}
-
-		// If we have no subcommand, skip the value by returning null.
-		if (collectedCmds.size() == 0) {
-			return null;
-		}
-
-		// Call the corresponding operator
-		ComputePropertyValueCommand res;
-		try {
-			res = getLayerOperatorDescriptor().getPropertyOperator(property).getComputePropertyValueCommand(collectedCmds);
-		} catch (UnsupportedOperationException e) {
-			// The operator is not implemented
-			log.error(this.getClass().getSimpleName() + "WARNING - Operator not implemened for LayerOperator '"
-					+ this.getClass().getSimpleName() + "' and property '"
-					+ property.getName() + "'.", e);
-			return null;
-		}
-		return res;
-
-	}
-
-	/**
-	 * For each property, add the first property value in the list of result.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, java.util.List)
-	 *
-	 * @param view
-	 * @param property
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> properties) throws LayersException {
-
-		// Do nothing if the layer is disable.
-		if (!isLayerEnabled()) {
-			return null;
-		}
-
-		// Simple implementation
-		// TODO Check if we can optimize
-
-		// the result list
-		EList<ComputePropertyValueCommand> resCmds = new BasicEList<ComputePropertyValueCommand>(properties.size());
-		boolean isCmdFound = false;
-
-		// Walk each property
-		for (Property property : properties) {
-			if (property == null) {
-				resCmds.add(null);
-				continue;
-			}
-
-			ComputePropertyValueCommand cmd = getComputePropertyValueCommand(view, property);
-			if (cmd != null) {
-				isCmdFound = true;
-			}
-			resCmds.add(cmd);
-
-
-		}
-		// Return appropriate result
-		if (isCmdFound) {
-			return resCmds;
-		} else {
-			// No command ==> null
-			return null;
-		}
-	}
-
-	/**
-	 * For each view, add the first property value in the list of result.
-	 *
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getViewsComputePropertyValueCommand(java.util.List, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property)
-	 *
-	 * @param view
-	 * @param property
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> views, Property property) throws LayersException {
-
-		// Do nothing if the layer is disable.
-		if (!isLayerEnabled()) {
-			return null;
-		}
-
-		// Simple implementation
-		// TODO Check if we can optimize
-
-		// the result list
-		EList<ComputePropertyValueCommand> resCmds = new BasicEList<ComputePropertyValueCommand>(views.size());
-		boolean isCmdFound = false;
-
-		for (View view : views) {
-			if (view == null) {
-				resCmds.add(null);
-				continue;
-			}
-
-			ComputePropertyValueCommand cmd = getComputePropertyValueCommand(view, property);
-			if (cmd != null) {
-				isCmdFound = true;
-			}
-			resCmds.add(cmd);
-		}
-
-		// Return appropriate result
-		if (isCmdFound) {
-			return resCmds;
-		} else {
-			// No command ==> null
-			return null;
-		}
-	}
-
-} // AbstractLayerOperatorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AllViewsDerivedLayerImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AllViewsDerivedLayerImpl.java
index 080acca..d88efb0 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AllViewsDerivedLayerImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AllViewsDerivedLayerImpl.java
@@ -1,13 +1,22 @@
 /**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
+ * 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:
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
-import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
-
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AllViewsDerivedLayer;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util.DiagramViewToListSynchronizer;
 
 /**
@@ -19,27 +28,21 @@
  */
 public class AllViewsDerivedLayerImpl extends AbstractLayerImpl implements AllViewsDerivedLayer {
 
-	/**
-	 * Object used to synchronize a list with the diagram's views.
-	 *
-	 */
-	protected DiagramViewToListSynchronizer viewsListSynchronizer;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * 
+	 * @generated
 	 */
 	protected AllViewsDerivedLayerImpl() {
 		super();
-		// init the synchronizer
-		viewsListSynchronizer = new DiagramViewToListSynchronizer(getViews());
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -47,24 +50,4 @@
 		return LayersPackage.Literals.ALL_VIEWS_DERIVED_LAYER;
 	}
 
-	/**
-	 * This layer has just been added to a LayerStack.
-	 * Set the root of the expression.
-	 * Set the views to match the result of the expression.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#initLayer(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack)
-	 *
-	 * @param owningLayersStack
-	 */
-	@Override
-	public void initLayer(LayersStack owningLayersStack) {
-		super.initLayer(owningLayersStack);
-
-		if (log.isDebugEnabled()) {
-			log.debug(this.getClass().getSimpleName() + ".initLayer(" + owningLayersStack + ")");
-		}
-
-		// Set the diagram associated to this tree of layers
-		viewsListSynchronizer.setDiagram(owningLayersStack.getDiagram());
-	}
 } // AllViewsDerivedLayerImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AndStackedLayerOperatorDescriptorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AndStackedLayerOperatorDescriptorImpl.java
deleted file mode 100755
index 2e9dba3..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/AndStackedLayerOperatorDescriptorImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AndStackedLayerOperatorDescriptor;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>And Stacked Layer Operator Descriptor</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class AndStackedLayerOperatorDescriptorImpl extends StackedLayerOperatorDescriptorImpl implements AndStackedLayerOperatorDescriptor {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected AndStackedLayerOperatorDescriptorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.AND_STACKED_LAYER_OPERATOR_DESCRIPTOR;
-	}
-
-} // AndStackedLayerOperatorDescriptorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/ApplicationDependantElementImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/ApplicationDependantElementImpl.java
index ede4fa9..ed4da48 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/ApplicationDependantElementImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/ApplicationDependantElementImpl.java
@@ -1,22 +1,26 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ApplicationDependantElement;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
@@ -69,7 +73,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayersStackApplication getApplication() {
 		if (application != null && application.eIsProxy()) {
 			InternalEObject oldApplication = (InternalEObject)application;
@@ -96,7 +99,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setApplication(LayersStackApplication newApplication) {
 		LayersStackApplication oldApplication = application;
 		application = newApplication;
@@ -163,4 +165,4 @@
 		return super.eIsSet(featureID);
 	}
 
-} // ApplicationDependantElementImpl
+} //ApplicationDependantElementImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/BooleanInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/BooleanInstanceImpl.java
deleted file mode 100755
index 3065f65..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/BooleanInstanceImpl.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Boolean Instance</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.BooleanInstanceImpl#isValue <em>Value</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class BooleanInstanceImpl extends TypeInstanceImpl implements BooleanInstance {
-	/**
-	 * The default value of the '{@link #isValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean VALUE_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean value = VALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected BooleanInstanceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.BOOLEAN_INSTANCE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean isValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setValue(boolean newValue) {
-		boolean oldValue = value;
-		value = newValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.BOOLEAN_INSTANCE__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case LayersPackage.BOOLEAN_INSTANCE__VALUE:
-				return isValue();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.BOOLEAN_INSTANCE__VALUE:
-				setValue((Boolean)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.BOOLEAN_INSTANCE__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.BOOLEAN_INSTANCE__VALUE:
-				return value != VALUE_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromString(String value) {
-
-		if (value == null || value.length() == 0) {
-			return;
-		}
-
-		setValue(Boolean.parseBoolean(value.trim()));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromInstance(TypeInstance value) {
-
-		// Check if the value is of the right instance
-		if (!getClass().isInstance(value)) {
-			return;
-		}
-
-		BooleanInstance instance = (BooleanInstance) value;
-		setValue(instance.isValue());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (value: "); //$NON-NLS-1$
-		result.append(value);
-		result.append(')');
-		return result.toString();
-	}
-
-} // BooleanInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/BooleanTypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/BooleanTypeImpl.java
deleted file mode 100755
index 05b7bef..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/BooleanTypeImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Boolean Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class BooleanTypeImpl extends TypeImpl implements BooleanType {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected BooleanTypeImpl() {
-		super();
-		setName("boolean");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public TypeInstance createInstance() {
-		return LayersFactory.eINSTANCE.createBooleanInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.BOOLEAN_TYPE;
-	}
-
-} // BooleanTypeImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHideInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHideInstanceImpl.java
index 9e72b9b..d562f76 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHideInstanceImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHideInstanceImpl.java
@@ -25,7 +25,6 @@
 
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSHideInstance;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
 
 /**
  * <!-- begin-user-doc -->
@@ -35,8 +34,8 @@
  * The following features are implemented:
  * </p>
  * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideInstanceImpl#getStylesheet <em>Stylesheet</em>}</li>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideInstanceImpl#getStyle <em>Style</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideInstanceImpl#getStylesheet <em>Stylesheet</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideInstanceImpl#getStyle <em>Style</em>}</li>
  * </ul>
  *
  * @generated
@@ -46,7 +45,6 @@
 	 * The cached value of the '{@link #getStylesheet() <em>Stylesheet</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @see #getStylesheet()
 	 * @generated
 	 * @ordered
@@ -57,7 +55,6 @@
 	 * The default value of the '{@link #getStyle() <em>Style</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @see #getStyle()
 	 * @generated
 	 * @ordered
@@ -68,7 +65,6 @@
 	 * The cached value of the '{@link #getStyle() <em>Style</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @see #getStyle()
 	 * @generated
 	 * @ordered
@@ -78,7 +74,6 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	protected CSSHideInstanceImpl() {
@@ -88,7 +83,6 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
@@ -99,10 +93,8 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	@Override
 	public StyleSheet getStylesheet() {
 		return stylesheet;
 	}
@@ -110,7 +102,6 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public NotificationChain basicSetStylesheet(StyleSheet newStylesheet, NotificationChain msgs) {
@@ -118,10 +109,7 @@
 		stylesheet = newStylesheet;
 		if (eNotificationRequired()) {
 			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET, oldStylesheet, newStylesheet);
-			if (msgs == null)
-				msgs = notification;
-			else
-				msgs.add(notification);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
 	}
@@ -129,31 +117,27 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	@Override
 	public void setStylesheet(StyleSheet newStylesheet) {
 		if (newStylesheet != stylesheet) {
 			NotificationChain msgs = null;
 			if (stylesheet != null)
-				msgs = ((InternalEObject) stylesheet).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET, null, msgs);
+				msgs = ((InternalEObject)stylesheet).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET, null, msgs);
 			if (newStylesheet != null)
-				msgs = ((InternalEObject) newStylesheet).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET, null, msgs);
+				msgs = ((InternalEObject)newStylesheet).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET, null, msgs);
 			msgs = basicSetStylesheet(newStylesheet, msgs);
-			if (msgs != null)
-				msgs.dispatch();
-		} else if (eNotificationRequired())
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET, newStylesheet, newStylesheet));
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	@Override
 	public String getStyle() {
 		return style;
 	}
@@ -161,10 +145,8 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	@Override
 	public void setStyle(String newStyle) {
 		String oldStyle = style;
 		style = newStyle;
@@ -175,14 +157,13 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-		case LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET:
-			return basicSetStylesheet(null, msgs);
+			case LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET:
+				return basicSetStylesheet(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -190,16 +171,15 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-		case LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET:
-			return getStylesheet();
-		case LayersPackage.CSS_HIDE_INSTANCE__STYLE:
-			return getStyle();
+			case LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET:
+				return getStylesheet();
+			case LayersPackage.CSS_HIDE_INSTANCE__STYLE:
+				return getStyle();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -207,18 +187,17 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-		case LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET:
-			setStylesheet((StyleSheet) newValue);
-			return;
-		case LayersPackage.CSS_HIDE_INSTANCE__STYLE:
-			setStyle((String) newValue);
-			return;
+			case LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET:
+				setStylesheet((StyleSheet)newValue);
+				return;
+			case LayersPackage.CSS_HIDE_INSTANCE__STYLE:
+				setStyle((String)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -226,18 +205,17 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-		case LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET:
-			setStylesheet((StyleSheet) null);
-			return;
-		case LayersPackage.CSS_HIDE_INSTANCE__STYLE:
-			setStyle(STYLE_EDEFAULT);
-			return;
+			case LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET:
+				setStylesheet((StyleSheet)null);
+				return;
+			case LayersPackage.CSS_HIDE_INSTANCE__STYLE:
+				setStyle(STYLE_EDEFAULT);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -245,16 +223,15 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-		case LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET:
-			return stylesheet != null;
-		case LayersPackage.CSS_HIDE_INSTANCE__STYLE:
-			return STYLE_EDEFAULT == null ? style != null : !STYLE_EDEFAULT.equals(style);
+			case LayersPackage.CSS_HIDE_INSTANCE__STYLESHEET:
+				return stylesheet != null;
+			case LayersPackage.CSS_HIDE_INSTANCE__STYLE:
+				return STYLE_EDEFAULT == null ? style != null : !STYLE_EDEFAULT.equals(style);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -262,72 +239,17 @@
 	/**
 	 * <!-- 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());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (style: "); //$NON-NLS-1$
 		result.append(style);
 		result.append(')');
 		return result.toString();
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromString(String value) {
-		int i = 0;
-		i++;
-		// TODO
-		// if (value == null || value.length() == 0) {
-		// return;
-		// }
-		//
-		// // The value should contains the values, separated by comma
-		// // "FontName, FontHeight, FontColor, Bold"
-		// String[] values = value.split(",");
-		// int i = 0;
-		// try {
-		// setFontName(values[i++].trim());
-		// setFontHeigh(Integer.parseInt(values[i++].trim()));
-		// setFontColor(Integer.parseInt(values[i++].trim()));
-		// setBold(Boolean.parseBoolean(values[i++].trim()));
-		// } catch (NumberFormatException e) {
-		// // fail silently
-		// e.printStackTrace();
-		// }
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromInstance(TypeInstance value) {
-		int i = 0;
-		i++;
-		// TODO
-		// Check if the value is of the right instance
-		// if (!getClass().isInstance(value)) {
-		// return;
-		// }
-		//
-		// FontInstance instance = (FontInstance) value;
-		// setFontName(instance.getFontName());
-		// setFontHeigh(instance.getFontHeigh());
-		// setFontColor(instance.getFontColor());
-		// setBold(instance.isBold());
-	}
-
-} // CSSHideInstanceImpl
+} //CSSHideInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHidePropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHidePropertySetterImpl.java
index 4b528e6..be2d0cc 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHidePropertySetterImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHidePropertySetterImpl.java
@@ -14,10 +14,9 @@
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.gmf.runtime.notation.View;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSHidePropertySetter;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
 
 /**
  * <!-- begin-user-doc -->
@@ -30,18 +29,15 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
-	 * @generated NOT
+	 * @generated
 	 */
 	protected CSSHidePropertySetterImpl() {
 		super();
-		setPropertyName("cssHide");
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
@@ -49,16 +45,4 @@
 		return LayersPackage.Literals.CSS_HIDE_PROPERTY_SETTER;
 	}
 
-	/**
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterImpl#setValue(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance)
-	 *
-	 * @param view
-	 * @param value
-	 */
-	@Override
-	public void setValue(View view, TypeInstance value) {
-
-
-	}
-
-} // CSSHidePropertySetterImpl
+} //CSSHidePropertySetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHideTypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHideTypeImpl.java
index d2d21ad..7b77a02 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHideTypeImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSHideTypeImpl.java
@@ -16,7 +16,6 @@
 import org.eclipse.emf.ecore.EClass;
 
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSHideType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 
 /**
@@ -30,18 +29,15 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
-	 * @generated NOT
+	 * @generated
 	 */
 	protected CSSHideTypeImpl() {
 		super();
-		setName("CSSHideType");
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
@@ -49,9 +45,4 @@
 		return LayersPackage.Literals.CSS_HIDE_TYPE;
 	}
 
-	@Override
-	public org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance createInstance() {
-		return LayersFactory.eINSTANCE.createCSSHideInstance();
-	};
-
-} // CSSHideTypeImpl
+} //CSSHideTypeImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSInstanceImpl.java
index 1c7f4f3..09341c6 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSInstanceImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSInstanceImpl.java
@@ -1,16 +1,30 @@
 /**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
+ * 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:
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.papyrus.infra.gmfdiag.css.stylesheets.StyleSheet;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSInstance;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
 
 /**
  * <!-- begin-user-doc -->
@@ -46,6 +60,7 @@
 	 * @ordered
 	 */
 	protected static final String STYLE_EDEFAULT = null;
+
 	/**
 	 * The cached value of the '{@link #getStyle() <em>Style</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -80,7 +95,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public StyleSheet getStylesheet() {
 		return stylesheet;
 	}
@@ -105,8 +119,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	// @Override
-	@Override
 	public void setStylesheet(StyleSheet newStylesheet) {
 		if (newStylesheet != stylesheet) {
 			NotificationChain msgs = null;
@@ -190,9 +202,6 @@
 		super.eSet(featureID, newValue);
 	}
 
-
-
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -236,65 +245,11 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (style: "); //$NON-NLS-1$
 		result.append(style);
 		result.append(')');
 		return result.toString();
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromString(String value) {
-		int i = 0;
-		i++;
-		// TODO
-		// if (value == null || value.length() == 0) {
-		// return;
-		// }
-		//
-		// // The value should contains the values, separated by comma
-		// // "FontName, FontHeight, FontColor, Bold"
-		// String[] values = value.split(",");
-		// int i = 0;
-		// try {
-		// setFontName(values[i++].trim());
-		// setFontHeigh(Integer.parseInt(values[i++].trim()));
-		// setFontColor(Integer.parseInt(values[i++].trim()));
-		// setBold(Boolean.parseBoolean(values[i++].trim()));
-		// } catch (NumberFormatException e) {
-		// // fail silently
-		// e.printStackTrace();
-		// }
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromInstance(TypeInstance value) {
-		int i = 0;
-		i++;
-		// TODO
-		// Check if the value is of the right instance
-		// if (!getClass().isInstance(value)) {
-		// return;
-		// }
-		//
-		// FontInstance instance = (FontInstance) value;
-		// setFontName(instance.getFontName());
-		// setFontHeigh(instance.getFontHeigh());
-		// setFontColor(instance.getFontColor());
-		// setBold(instance.isBold());
-	}
-
-
-} // CSSInstanceImpl
+} //CSSInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSPropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSPropertySetterImpl.java
index 695eb2e..7231481 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSPropertySetterImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSPropertySetterImpl.java
@@ -1,31 +1,22 @@
 /**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
+ * 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:
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
-import java.util.List;
-import java.util.ArrayList;
-import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.StringListValueStyle;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForResource;
-import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
-import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSStyles;
-import org.eclipse.papyrus.infra.gmfdiag.css.properties.databinding.AddCSSStyleSheetCommand;
-import org.eclipse.papyrus.infra.gmfdiag.css.properties.databinding.AddCssClassStyleCommand;
-import org.eclipse.papyrus.infra.gmfdiag.css.stylesheets.EmbeddedStyleSheet;
-import org.eclipse.papyrus.infra.gmfdiag.css.stylesheets.StyleSheet;
-import org.eclipse.papyrus.infra.gmfdiag.css.stylesheets.StyleSheetReference;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSInstance;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSPropertySetter;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
 
 /**
  * <!-- begin-user-doc -->
@@ -38,18 +29,15 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
-	 * @generated NOT
+	 * @generated
 	 */
 	protected CSSPropertySetterImpl() {
 		super();
-		setPropertyName("css");
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
@@ -57,104 +45,4 @@
 		return LayersPackage.Literals.CSS_PROPERTY_SETTER;
 	}
 
-	/**
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterImpl#setValue(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance)
-	 *
-	 * @param view
-	 * @param value
-	 */
-	@Override
-	public void setValue(View view, TypeInstance value) {
-		Diagram d = view.getDiagram();
-		StyleSheet ass;
-		CSSDiagram cssD = null;
-		TransactionalEditingDomain ted = null;
-
-		EList<EStructuralFeature> features = view.eClass().getEStructuralFeatures();
-
-		CSSInstance associatedCSS = (CSSInstance) value;
-		StyleSheet sheet = associatedCSS.getStylesheet();
-
-		// System.err.println(view);
-		// System.err.println(value);
-
-		// CHeck if there is a styleSheet reference associated
-		if (sheet == null) {
-			return;
-		}
-
-		if (d instanceof CSSDiagram) {
-			cssD = (CSSDiagram) d;
-			// Get the Transactional Editing Domain associated to the diagram
-			try {
-				ted = ServiceUtilsForResource.getInstance().getTransactionalEditingDomain(view.eResource());
-			} catch (ServiceException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-
-			// TODO find a way to remove a reference
-			// if (!(cssD.getStyleSheets().isEmpty())) {
-			// RemoveAllCSSStyleSheetValueCommand racssvc = new RemoveAllCSSStyleSheetValueCommand(ted, cssD,
-			// CSSStyles.CSS_DIAGRAM_STYLESHEETS_KEY,
-			// NotationPackage.eINSTANCE.getEObjectListValueStyle(),
-			// NotationPackage.eINSTANCE.getEObjectListValueStyle_EObjectListValue(),
-			// Collections.singleton(sheet));
-			// racssvc.execute();
-			// System.out.println("done!");
-			// }
-
-			String sheetPath = ((StyleSheetReference) sheet).getPath();
-			boolean sheetIsApplied = false;
-			for (StyleSheet ss : cssD.getStyleSheets()) {
-				String ssPath = ((StyleSheetReference) ss).getPath();
-				if (sheetPath.equals(ssPath)) {
-					sheetIsApplied = true;
-					// There may be discrepancies in the memory addresses between the layer's CSS and the model's
-					// Always revert to the model's CSS as it is the one being used
-					sheet = ss;
-					break;
-				}
-			}
-
-			if (!sheetIsApplied) {
-				if (sheet instanceof StyleSheetReference) {
-					sheet = EcoreUtil.copy(sheet);
-				} else if (sheet instanceof EmbeddedStyleSheet) {
-					// TODO if needed
-				}
-
-				AddCSSStyleSheetCommand aacssc = new AddCSSStyleSheetCommand(ted, cssD,
-						CSSStyles.CSS_DIAGRAM_STYLESHEETS_KEY,
-						NotationPackage.eINSTANCE.getEObjectListValueStyle(),
-						NotationPackage.eINSTANCE.getEObjectListValueStyle_EObjectListValue(),
-						sheet);
-				aacssc.execute();
-			}
-
-			// Apply the style to the view if it has not been previously
-			String style = associatedCSS.getStyle();
-			if (style == null) {
-				return;
-			}
-
-			List<String> appliedStyles = new ArrayList<String>();
-			for (Object o : view.getStyles()) {
-				if (!(o instanceof StringListValueStyle)) {
-					continue;
-				}
-				StringListValueStyle slvs = (StringListValueStyle) o;
-				if (!slvs.getStringListValue().isEmpty()) {
-					appliedStyles.add((String) slvs.getStringListValue().get(0));
-				}
-			}
-			// There is a refresh problem on the style display in the property view,
-			// undo/redo multiply the style without applying it multiple times
-			if (appliedStyles.isEmpty() || !appliedStyles.contains(style)) {
-				AddCssClassStyleCommand accsc = new AddCssClassStyleCommand(ted, view, style);
-				accsc.execute();
-			}
-		}
-	}
-
-} // CSSPropertySetterImpl
+} //CSSPropertySetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSTypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSTypeImpl.java
index 9250348..ebeb93f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSTypeImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CSSTypeImpl.java
@@ -1,10 +1,21 @@
 /**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
+ * 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:
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 
 /**
@@ -18,12 +29,10 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
-	 * @generated NOT
+	 * @generated
 	 */
 	protected CSSTypeImpl() {
 		super();
-		setName("CSSType");
 	}
 
 	/**
@@ -36,9 +45,4 @@
 		return LayersPackage.Literals.CSS_TYPE;
 	}
 
-	@Override
-	public org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance createInstance() {
-		return LayersFactory.eINSTANCE.createCSSInstance();
-	};
-
-} // CSSTypeImpl
+} //CSSTypeImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/ColorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/ColorImpl.java
deleted file mode 100755
index a3fe3d0..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/ColorImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Color;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Color</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class ColorImpl extends TypeImpl implements Color {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected ColorImpl() {
-		super();
-		setName("Color");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public TypeInstance createInstance() {
-		return LayersFactory.eINSTANCE.createColorInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.COLOR;
-	}
-
-} // ColorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/ColorInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/ColorInstanceImpl.java
deleted file mode 100755
index 9f7237b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/ColorInstanceImpl.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Color Instance</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.ColorInstanceImpl#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class ColorInstanceImpl extends TypeInstanceImpl implements ColorInstance {
-	/**
-	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int VALUE_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected int value = VALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ColorInstanceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.COLOR_INSTANCE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int getValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setValue(int newValue) {
-		int oldValue = value;
-		value = newValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.COLOR_INSTANCE__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case LayersPackage.COLOR_INSTANCE__VALUE:
-				return getValue();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.COLOR_INSTANCE__VALUE:
-				setValue((Integer)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.COLOR_INSTANCE__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.COLOR_INSTANCE__VALUE:
-				return value != VALUE_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromString(String value) {
-
-		if (value == null || value.length() == 0) {
-			return;
-		}
-
-		try {
-			setValue(Integer.parseInt(value.trim()));
-		} catch (NumberFormatException e) {
-			// fail silently
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromInstance(TypeInstance value) {
-
-		// Check if the value is of the right instance
-		if (!getClass().isInstance(value)) {
-			return;
-		}
-
-		ColorInstance instance = (ColorInstance) value;
-		setValue(instance.getValue());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (value: "); //$NON-NLS-1$
-		result.append(value);
-		result.append(')');
-		return result.toString();
-	}
-
-} // ColorInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CustomLayerOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CustomLayerOperatorImpl.java
deleted file mode 100755
index 19350bf..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CustomLayerOperatorImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Custom Layer Operator</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class CustomLayerOperatorImpl extends LayerOperatorImpl implements CustomLayerOperator {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected CustomLayerOperatorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.CUSTOM_LAYER_OPERATOR;
-	}
-
-} // CustomLayerOperatorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CustomPropertyOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CustomPropertyOperatorImpl.java
deleted file mode 100755
index 02b7fa4..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CustomPropertyOperatorImpl.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.ServiceException;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Custom Property Operator</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomPropertyOperatorImpl#getClassname <em>Classname</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomPropertyOperatorImpl#getOperatorInstance <em>Operator Instance</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomPropertyOperatorImpl#getClassBundleID <em>Class Bundle ID</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class CustomPropertyOperatorImpl extends PropertyOperatorImpl implements CustomPropertyOperator {
-	/**
-	 * The default value of the '{@link #getClassname() <em>Classname</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassname()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String CLASSNAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getClassname() <em>Classname</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassname()
-	 * @generated
-	 * @ordered
-	 */
-	protected String classname = CLASSNAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getOperatorInstance() <em>Operator Instance</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOperatorInstance()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final CustomPropertyOperatorsInstance OPERATOR_INSTANCE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getOperatorInstance() <em>Operator Instance</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOperatorInstance()
-	 * @generated
-	 * @ordered
-	 */
-	protected CustomPropertyOperatorsInstance operatorInstance = OPERATOR_INSTANCE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getClassBundleID() <em>Class Bundle ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassBundleID()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String CLASS_BUNDLE_ID_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getClassBundleID() <em>Class Bundle ID</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassBundleID()
-	 * @generated
-	 * @ordered
-	 */
-	protected String classBundleID = CLASS_BUNDLE_ID_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected CustomPropertyOperatorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.CUSTOM_PROPERTY_OPERATOR;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getClassname() {
-		return classname;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setClassname(String newClassname) {
-		String oldClassname = classname;
-		classname = newClassname;
-		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASSNAME, oldClassname, classname));
-		}
-		// Reset the actual instance
-		setOperatorInstance(null);
-
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public CustomPropertyOperatorsInstance getOperatorInstance() {
-		if (operatorInstance == null) {
-			try {
-				resetOperatorInstance();
-			} catch (LayersException e) {
-				// TODO log the error
-				log.error("LOG-" + this.getClass().getName()
-						+ "- Can't set custom operator instance '" + e.getMessage() + "'.", e);
-
-			}
-		}
-
-		return operatorInstance;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setOperatorInstance(CustomPropertyOperatorsInstance newOperatorInstance) {
-		CustomPropertyOperatorsInstance oldOperatorInstance = operatorInstance;
-		operatorInstance = newOperatorInstance;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.CUSTOM_PROPERTY_OPERATOR__OPERATOR_INSTANCE, oldOperatorInstance, operatorInstance));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getClassBundleID() {
-		return classBundleID;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setClassBundleID(String newClassBundleID) {
-		String oldClassBundleID = classBundleID;
-		classBundleID = newClassBundleID;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASS_BUNDLE_ID, oldClassBundleID, classBundleID));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @throws LayersException
-	 * @generated NOT
-	 */
-	@Override
-	public void resetOperatorInstance() throws LayersException {
-		if (getClassname() == null) {
-			return;
-		}
-
-		Class<?> opClass = loadClass();
-		try {
-			setOperatorInstance((CustomPropertyOperatorsInstance) opClass.newInstance());
-		} catch (Exception e) {
-			throw new LayersException("Can't create instance for CustomOperator " + getName(), e);
-		}
-	}
-
-	/**
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyOperatorImpl#getComputePropertyValueCommand(org.eclipse.emf.common.util.EList)
-	 *
-	 * @param property
-	 * @return
-	 * @throws LayersException
-	 * @generated NOT
-	 */
-	@Override
-	public ComputePropertyValueCommand getComputePropertyValueCommand(EList<ComputePropertyValueCommand> property) throws LayersException {
-		return getOperatorInstance().getComputePropertyValueCommand(property);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASSNAME:
-				return getClassname();
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__OPERATOR_INSTANCE:
-				return getOperatorInstance();
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASS_BUNDLE_ID:
-				return getClassBundleID();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASSNAME:
-				setClassname((String)newValue);
-				return;
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__OPERATOR_INSTANCE:
-				setOperatorInstance((CustomPropertyOperatorsInstance)newValue);
-				return;
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASS_BUNDLE_ID:
-				setClassBundleID((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASSNAME:
-				setClassname(CLASSNAME_EDEFAULT);
-				return;
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__OPERATOR_INSTANCE:
-				setOperatorInstance(OPERATOR_INSTANCE_EDEFAULT);
-				return;
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASS_BUNDLE_ID:
-				setClassBundleID(CLASS_BUNDLE_ID_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASSNAME:
-				return CLASSNAME_EDEFAULT == null ? classname != null : !CLASSNAME_EDEFAULT.equals(classname);
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__OPERATOR_INSTANCE:
-				return OPERATOR_INSTANCE_EDEFAULT == null ? operatorInstance != null : !OPERATOR_INSTANCE_EDEFAULT.equals(operatorInstance);
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR__CLASS_BUNDLE_ID:
-				return CLASS_BUNDLE_ID_EDEFAULT == null ? classBundleID != null : !CLASS_BUNDLE_ID_EDEFAULT.equals(classBundleID);
-		}
-		return super.eIsSet(featureID);
-	}
-
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
-		switch (operationID) {
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR___RESET_OPERATOR_INSTANCE:
-				try {
-					resetOperatorInstance();
-					return null;
-				}
-				catch (Throwable throwable) {
-					throw new InvocationTargetException(throwable);
-				}
-		}
-		return super.eInvoke(operationID, arguments);
-	}
-
-	/**
-	 * Load the Class object. Try from current ClassLoader, then try using the
-	 * plugin referenced in the serviceDescriptor.PluginId
-	 *
-	 * @return
-	 * @throws ServiceException
-	 */
-	private Class<?> loadClass() throws LayersException {
-		String classname = getClassname();
-		Class<?> classDesc;
-		try {
-			classDesc = Class.forName(classname);
-		} catch (ClassNotFoundException e1) {
-			// Try using bundle
-			try {
-				String bundleID = getClassBundleID();
-				Bundle bundle = Platform.getBundle(bundleID);
-				classDesc = bundle.loadClass(classname);
-			} catch (ClassNotFoundException e2) {
-				throw new LayersException("Can't find class for the name '" + classname + "'.", e2);
-			} catch (NullPointerException e) {
-				throw new LayersException("Can't find bundle '" + getClassBundleID()
-						+ "' for class for the name '" + classname + "'.", e);
-			}
-		}
-
-		return classDesc;
-	}
-
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (classname: "); //$NON-NLS-1$
-		result.append(classname);
-		result.append(", operatorInstance: "); //$NON-NLS-1$
-		result.append(operatorInstance);
-		result.append(", classBundleID: "); //$NON-NLS-1$
-		result.append(classBundleID);
-		result.append(')');
-		return result.toString();
-	}
-
-} // CustomPropertyOperatorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CustomTypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CustomTypeImpl.java
deleted file mode 100755
index f1f3c89..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/CustomTypeImpl.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Custom Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CustomTypeImpl#getClassifier <em>Classifier</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class CustomTypeImpl extends TypeImpl implements CustomType {
-	/**
-	 * The default value of the '{@link #getClassifier() <em>Classifier</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassifier()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String CLASSIFIER_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getClassifier() <em>Classifier</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassifier()
-	 * @generated
-	 * @ordered
-	 */
-	protected String classifier = CLASSIFIER_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected CustomTypeImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.CUSTOM_TYPE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getClassifier() {
-		return classifier;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setClassifier(String newClassifier) {
-		String oldClassifier = classifier;
-		classifier = newClassifier;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.CUSTOM_TYPE__CLASSIFIER, oldClassifier, classifier));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case LayersPackage.CUSTOM_TYPE__CLASSIFIER:
-				return getClassifier();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.CUSTOM_TYPE__CLASSIFIER:
-				setClassifier((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.CUSTOM_TYPE__CLASSIFIER:
-				setClassifier(CLASSIFIER_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.CUSTOM_TYPE__CLASSIFIER:
-				return CLASSIFIER_EDEFAULT == null ? classifier != null : !CLASSIFIER_EDEFAULT.equals(classifier);
-		}
-		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(" (classifier: "); //$NON-NLS-1$
-		result.append(classifier);
-		result.append(')');
-		return result.toString();
-	}
-
-} // CustomTypeImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/DefaultPropertyOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/DefaultPropertyOperatorImpl.java
deleted file mode 100755
index a46d7f2..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/DefaultPropertyOperatorImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Default Property Operator</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class DefaultPropertyOperatorImpl extends PropertyOperatorImpl implements DefaultPropertyOperator {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected DefaultPropertyOperatorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.DEFAULT_PROPERTY_OPERATOR;
-	}
-
-} // DefaultPropertyOperatorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FillImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FillImpl.java
deleted file mode 100755
index e706c59..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FillImpl.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Fill;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Fill</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class FillImpl extends TypeImpl implements Fill {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected FillImpl() {
-		super();
-		setName("Fill");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public TypeInstance createInstance() {
-		FillInstance instance = LayersFactory.eINSTANCE.createFillInstance();
-		ColorInstance color = LayersFactory.eINSTANCE.createColorInstance();
-		instance.setFillColor(color);
-		return instance;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.FILL;
-	}
-
-} // FillImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FillInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FillInstanceImpl.java
deleted file mode 100755
index 75cec4c..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FillInstanceImpl.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Fill Instance</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillInstanceImpl#getTransparency <em>Transparency</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FillInstanceImpl#getFillColor <em>Fill Color</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class FillInstanceImpl extends TypeInstanceImpl implements FillInstance {
-	/**
-	 * The default value of the '{@link #getTransparency() <em>Transparency</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTransparency()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int TRANSPARENCY_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getTransparency() <em>Transparency</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getTransparency()
-	 * @generated
-	 * @ordered
-	 */
-	protected int transparency = TRANSPARENCY_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getFillColor() <em>Fill Color</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFillColor()
-	 * @generated
-	 * @ordered
-	 */
-	protected ColorInstance fillColor;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected FillInstanceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.FILL_INSTANCE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int getTransparency() {
-		return transparency;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setTransparency(int newTransparency) {
-		int oldTransparency = transparency;
-		transparency = newTransparency;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.FILL_INSTANCE__TRANSPARENCY, oldTransparency, transparency));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public ColorInstance getFillColor() {
-		return fillColor;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetFillColor(ColorInstance newFillColor, NotificationChain msgs) {
-		ColorInstance oldFillColor = fillColor;
-		fillColor = newFillColor;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LayersPackage.FILL_INSTANCE__FILL_COLOR, oldFillColor, newFillColor);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setFillColor(ColorInstance newFillColor) {
-		if (newFillColor != fillColor) {
-			NotificationChain msgs = null;
-			if (fillColor != null)
-				msgs = ((InternalEObject)fillColor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LayersPackage.FILL_INSTANCE__FILL_COLOR, null, msgs);
-			if (newFillColor != null)
-				msgs = ((InternalEObject)newFillColor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LayersPackage.FILL_INSTANCE__FILL_COLOR, null, msgs);
-			msgs = basicSetFillColor(newFillColor, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.FILL_INSTANCE__FILL_COLOR, newFillColor, newFillColor));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case LayersPackage.FILL_INSTANCE__FILL_COLOR:
-				return basicSetFillColor(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 LayersPackage.FILL_INSTANCE__TRANSPARENCY:
-				return getTransparency();
-			case LayersPackage.FILL_INSTANCE__FILL_COLOR:
-				return getFillColor();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.FILL_INSTANCE__TRANSPARENCY:
-				setTransparency((Integer)newValue);
-				return;
-			case LayersPackage.FILL_INSTANCE__FILL_COLOR:
-				setFillColor((ColorInstance)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.FILL_INSTANCE__TRANSPARENCY:
-				setTransparency(TRANSPARENCY_EDEFAULT);
-				return;
-			case LayersPackage.FILL_INSTANCE__FILL_COLOR:
-				setFillColor((ColorInstance)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.FILL_INSTANCE__TRANSPARENCY:
-				return transparency != TRANSPARENCY_EDEFAULT;
-			case LayersPackage.FILL_INSTANCE__FILL_COLOR:
-				return fillColor != null;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromString(String value) {
-
-		if (value == null || value.length() == 0) {
-			return;
-		}
-
-		// The value should contains the 2 values, separated by comma
-		// "transparency, fillColor"
-		String[] values = value.split(",");
-		try {
-			setTransparency(Integer.parseInt(values[0].trim()));
-			getFillColor().setValueFromString(values[1]);
-		} catch (NumberFormatException e) {
-			// fail silently
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromInstance(TypeInstance value) {
-
-		// Check if the value is of the right instance
-		if (!getClass().isInstance(value)) {
-			return;
-		}
-
-		FillInstance instance = (FillInstance) value;
-		setTransparency(instance.getTransparency());
-		// Set by copy
-		getFillColor().setValueFromInstance(instance.getFillColor());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (transparency: "); //$NON-NLS-1$
-		result.append(transparency);
-		result.append(')');
-		return result.toString();
-	}
-
-} // FillInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FillPropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FillPropertySetterImpl.java
deleted file mode 100755
index 2ee3544..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FillPropertySetterImpl.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.gmf.runtime.notation.FillStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillPropertySetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Fill Property Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class FillPropertySetterImpl extends PropertySetterImpl implements FillPropertySetter {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected FillPropertySetterImpl() {
-		super();
-		setPropertyName("fill");
-
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.FILL_PROPERTY_SETTER;
-	}
-
-	/**
-	 * Set the property of the specified view.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterImpl#setValue(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance)
-	 *
-	 * @param view
-	 * @param value
-	 */
-	@Override
-	public void setValue(View view, TypeInstance value) {
-
-		// Try to get the FontStyle object to modify
-		FillStyle style;
-		if (view instanceof FillStyle) {
-			// Try directly (case of Shape ...)
-			style = (FillStyle) view;
-		} else {
-			// Try as additionnal style
-			style = (FillStyle) view.getStyle(NotationPackage.eINSTANCE.getFillStyle());
-		}
-
-		// Set values
-		if (style != null) {
-
-			FillInstance fillValue = (FillInstance) value;
-
-			style.setFillColor(fillValue.getFillColor().getValue());
-			style.setTransparency(fillValue.getTransparency());
-		}
-
-	}
-} // FillPropertySetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FolderElementImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FolderElementImpl.java
index f86490e..7ddd49b 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FolderElementImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FolderElementImpl.java
@@ -1,19 +1,22 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FolderElement;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 
@@ -44,4 +47,4 @@
 		return LayersPackage.Literals.FOLDER_ELEMENT;
 	}
 
-} // FolderElementImpl
+} //FolderElementImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FolderImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FolderImpl.java
index f41e244..b0ddbf8 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FolderImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FolderImpl.java
@@ -1,27 +1,34 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.util.Collection;
+import java.util.List;
 
 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.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Folder;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FolderElement;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
@@ -60,6 +67,7 @@
 	 * @ordered
 	 */
 	protected static final String NAME_EDEFAULT = null;
+
 	/**
 	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -94,8 +102,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EList<FolderElement> getElements() {
+	public List<FolderElement> getElements() {
 		if (elements == null) {
 			elements = new EObjectContainmentEList<FolderElement>(FolderElement.class, this, LayersPackage.FOLDER__ELEMENTS);
 		}
@@ -107,7 +114,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getName() {
 		return name;
 	}
@@ -117,7 +123,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -218,11 +223,11 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: "); //$NON-NLS-1$
 		result.append(name);
 		result.append(')');
 		return result.toString();
 	}
 
-} // FolderImpl
+} //FolderImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FontInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FontInstanceImpl.java
deleted file mode 100755
index 683a3e2..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FontInstanceImpl.java
+++ /dev/null
@@ -1,390 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Font Instance</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontInstanceImpl#getFontColor <em>Font Color</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontInstanceImpl#getFontName <em>Font Name</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontInstanceImpl#getFontHeigh <em>Font Heigh</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.FontInstanceImpl#isBold <em>Bold</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class FontInstanceImpl extends TypeInstanceImpl implements FontInstance {
-	/**
-	 * The default value of the '{@link #getFontColor() <em>Font Color</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFontColor()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int FONT_COLOR_EDEFAULT = 15053796;
-
-	/**
-	 * The cached value of the '{@link #getFontColor() <em>Font Color</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFontColor()
-	 * @generated
-	 * @ordered
-	 */
-	protected int fontColor = FONT_COLOR_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getFontName() <em>Font Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFontName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String FONT_NAME_EDEFAULT = "Segoe UI";
-
-	/**
-	 * The cached value of the '{@link #getFontName() <em>Font Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFontName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String fontName = FONT_NAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getFontHeigh() <em>Font Heigh</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFontHeigh()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int FONT_HEIGH_EDEFAULT = 9;
-
-	/**
-	 * The cached value of the '{@link #getFontHeigh() <em>Font Heigh</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFontHeigh()
-	 * @generated
-	 * @ordered
-	 */
-	protected int fontHeigh = FONT_HEIGH_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isBold() <em>Bold</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isBold()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean BOLD_EDEFAULT = true;
-
-	/**
-	 * The cached value of the '{@link #isBold() <em>Bold</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isBold()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean bold = BOLD_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected FontInstanceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.FONT_INSTANCE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int getFontColor() {
-		return fontColor;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setFontColor(int newFontColor) {
-		int oldFontColor = fontColor;
-		fontColor = newFontColor;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.FONT_INSTANCE__FONT_COLOR, oldFontColor, fontColor));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getFontName() {
-		return fontName;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setFontName(String newFontName) {
-		String oldFontName = fontName;
-		fontName = newFontName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.FONT_INSTANCE__FONT_NAME, oldFontName, fontName));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int getFontHeigh() {
-		return fontHeigh;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setFontHeigh(int newFontHeigh) {
-		int oldFontHeigh = fontHeigh;
-		fontHeigh = newFontHeigh;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.FONT_INSTANCE__FONT_HEIGH, oldFontHeigh, fontHeigh));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean isBold() {
-		return bold;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setBold(boolean newBold) {
-		boolean oldBold = bold;
-		bold = newBold;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.FONT_INSTANCE__BOLD, oldBold, bold));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case LayersPackage.FONT_INSTANCE__FONT_COLOR:
-				return getFontColor();
-			case LayersPackage.FONT_INSTANCE__FONT_NAME:
-				return getFontName();
-			case LayersPackage.FONT_INSTANCE__FONT_HEIGH:
-				return getFontHeigh();
-			case LayersPackage.FONT_INSTANCE__BOLD:
-				return isBold();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.FONT_INSTANCE__FONT_COLOR:
-				setFontColor((Integer)newValue);
-				return;
-			case LayersPackage.FONT_INSTANCE__FONT_NAME:
-				setFontName((String)newValue);
-				return;
-			case LayersPackage.FONT_INSTANCE__FONT_HEIGH:
-				setFontHeigh((Integer)newValue);
-				return;
-			case LayersPackage.FONT_INSTANCE__BOLD:
-				setBold((Boolean)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.FONT_INSTANCE__FONT_COLOR:
-				setFontColor(FONT_COLOR_EDEFAULT);
-				return;
-			case LayersPackage.FONT_INSTANCE__FONT_NAME:
-				setFontName(FONT_NAME_EDEFAULT);
-				return;
-			case LayersPackage.FONT_INSTANCE__FONT_HEIGH:
-				setFontHeigh(FONT_HEIGH_EDEFAULT);
-				return;
-			case LayersPackage.FONT_INSTANCE__BOLD:
-				setBold(BOLD_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.FONT_INSTANCE__FONT_COLOR:
-				return fontColor != FONT_COLOR_EDEFAULT;
-			case LayersPackage.FONT_INSTANCE__FONT_NAME:
-				return FONT_NAME_EDEFAULT == null ? fontName != null : !FONT_NAME_EDEFAULT.equals(fontName);
-			case LayersPackage.FONT_INSTANCE__FONT_HEIGH:
-				return fontHeigh != FONT_HEIGH_EDEFAULT;
-			case LayersPackage.FONT_INSTANCE__BOLD:
-				return bold != BOLD_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromString(String value) {
-
-		if (value == null || value.length() == 0) {
-			return;
-		}
-
-		// The value should contains the values, separated by comma
-		// "FontName, FontHeight, FontColor, Bold"
-		String[] values = value.split(",");
-		int i = 0;
-		try {
-			setFontName(values[i++].trim());
-			setFontHeigh(Integer.parseInt(values[i++].trim()));
-			setFontColor(Integer.parseInt(values[i++].trim()));
-			setBold(Boolean.parseBoolean(values[i++].trim()));
-		} catch (NumberFormatException e) {
-			// fail silently
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromInstance(TypeInstance value) {
-
-		// Check if the value is of the right instance
-		if (!getClass().isInstance(value)) {
-			return;
-		}
-
-		FontInstance instance = (FontInstance) value;
-		setFontName(instance.getFontName());
-		setFontHeigh(instance.getFontHeigh());
-		setFontColor(instance.getFontColor());
-		setBold(instance.isBold());
-	}
-
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (fontColor: "); //$NON-NLS-1$
-		result.append(fontColor);
-		result.append(", fontName: "); //$NON-NLS-1$
-		result.append(fontName);
-		result.append(", fontHeigh: "); //$NON-NLS-1$
-		result.append(fontHeigh);
-		result.append(", bold: "); //$NON-NLS-1$
-		result.append(bold);
-		result.append(')');
-		return result.toString();
-	}
-
-} // FontInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FontPropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FontPropertySetterImpl.java
deleted file mode 100755
index 6f27fde..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FontPropertySetterImpl.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.gmf.runtime.notation.FontStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontPropertySetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Font Property Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class FontPropertySetterImpl extends PropertySetterImpl implements FontPropertySetter {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected FontPropertySetterImpl() {
-		super();
-		setPropertyName("font");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.FONT_PROPERTY_SETTER;
-	}
-
-	/**
-	 * Set the property of the specified view.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterImpl#setValue(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance)
-	 *
-	 * @param view
-	 * @param value
-	 */
-	@Override
-	public void setValue(View view, TypeInstance value) {
-
-		// Try to get the FontStyle object to modify
-		FontStyle style;
-		if (view instanceof FontStyle) {
-			// Try directly (case of Shape ...)
-			style = (FontStyle) view;
-		} else {
-			// Try as additionnal style
-			style = (FontStyle) view.getStyle(NotationPackage.eINSTANCE.getFontStyle());
-		}
-
-		// Set values
-		if (style != null) {
-			FontInstance lineValue = (FontInstance) value;
-
-			style.setFontColor(lineValue.getFontColor());
-			style.setFontName(lineValue.getFontName());
-			style.setFontHeight(lineValue.getFontHeigh());
-			style.setBold(lineValue.isBold());
-		}
-
-	}
-
-} // FontPropertySetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FontTypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FontTypeImpl.java
deleted file mode 100755
index 3ce4f75..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/FontTypeImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Font Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class FontTypeImpl extends TypeImpl implements FontType {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected FontTypeImpl() {
-		super();
-		setName("FontType");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.FONT_TYPE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public TypeInstance createInstance() {
-		FontInstance instance = LayersFactory.eINSTANCE.createFontInstance();
-		return instance;
-	}
-
-} // FontTypeImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IntInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IntInstanceImpl.java
deleted file mode 100755
index 2c49034..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IntInstanceImpl.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Int Instance</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.IntInstanceImpl#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class IntInstanceImpl extends TypeInstanceImpl implements IntInstance {
-	/**
-	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int VALUE_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected int value = VALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected IntInstanceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.INT_INSTANCE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int getValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setValue(int newValue) {
-		int oldValue = value;
-		value = newValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.INT_INSTANCE__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case LayersPackage.INT_INSTANCE__VALUE:
-				return getValue();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.INT_INSTANCE__VALUE:
-				setValue((Integer)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.INT_INSTANCE__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.INT_INSTANCE__VALUE:
-				return value != VALUE_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromString(String value) {
-
-		if (value == null || value.length() == 0) {
-			return;
-		}
-
-		try {
-			setValue(Integer.parseInt(value.trim()));
-		} catch (NumberFormatException e) {
-			// fail silently
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromInstance(TypeInstance value) {
-
-		// Check if the value is of the right instance
-		if (!getClass().isInstance(value)) {
-			return;
-		}
-
-		IntInstance instance = (IntInstance) value;
-		setValue(instance.getValue());
-	}
-
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (value: "); //$NON-NLS-1$
-		result.append(value);
-		result.append(')');
-		return result.toString();
-	}
-
-} // IntInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IntTypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IntTypeImpl.java
deleted file mode 100755
index da10bc3..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IntTypeImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Int Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class IntTypeImpl extends TypeImpl implements IntType {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected IntTypeImpl() {
-		super();
-		setName("int");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public TypeInstance createInstance() {
-		return LayersFactory.eINSTANCE.createIntInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.INT_TYPE;
-	}
-
-} // IntTypeImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IsAbstractUmlSetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IsAbstractUmlSetterImpl.java
deleted file mode 100755
index ea46f46..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IsAbstractUmlSetterImpl.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsAbstractUmlSetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-import org.eclipse.uml2.uml.Classifier;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>is Abstract Uml Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class IsAbstractUmlSetterImpl extends PropertySetterImpl implements IsAbstractUmlSetter {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected IsAbstractUmlSetterImpl() {
-		super();
-		setPropertyName("isAbstract");
-
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.IS_ABSTRACT_UML_SETTER;
-	}
-
-	/**
-	 * Set the property of the specified view.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterImpl#setValue(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance)
-	 *
-	 * @param view
-	 * @param value
-	 */
-	@Override
-	public void setValue(View view, TypeInstance value) {
-
-
-		BooleanInstance boolValue = (BooleanInstance) value;
-
-		EObject ele = view.getElement();
-		if (ele instanceof Classifier) {
-			Classifier classifier = (Classifier) ele;
-			classifier.setIsAbstract(boolValue.isValue());
-		}
-
-	}
-
-} // IsAbstractUmlSetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IsValidPropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IsValidPropertySetterImpl.java
deleted file mode 100755
index 058c63f..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IsValidPropertySetterImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsValidPropertySetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Is Valid Property Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class IsValidPropertySetterImpl extends PropertySetterImpl implements IsValidPropertySetter {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected IsValidPropertySetterImpl() {
-		super();
-		setPropertyName("isValid");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.IS_VALID_PROPERTY_SETTER;
-	}
-
-
-	/**
-	 * Set the value in the view
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterImpl#setValue(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance)
-	 *
-	 * @param view
-	 * @param value
-	 */
-	@Override
-	public void setValue(View view, TypeInstance value) {
-		// TODO implements this method
-	}
-} // IsValidPropertySetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IsVisiblePropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IsVisiblePropertySetterImpl.java
deleted file mode 100755
index 8b788f2..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/IsVisiblePropertySetterImpl.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.gmf.runtime.notation.Connector;
-import org.eclipse.gmf.runtime.notation.Shape;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsVisiblePropertySetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Is Visible Property Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class IsVisiblePropertySetterImpl extends PropertySetterImpl implements IsVisiblePropertySetter {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected IsVisiblePropertySetterImpl() {
-		super();
-		setPropertyName("isVisible");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.IS_VISIBLE_PROPERTY_SETTER;
-	}
-
-	/**
-	 * Set the property of the specified view.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterImpl#setValue(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance)
-	 *
-	 * @param view
-	 * @param value
-	 */
-	@Override
-	public void setValue(View view, TypeInstance value) {
-
-
-		BooleanInstance boolValue = (BooleanInstance) value;
-
-		if (view instanceof Shape || view instanceof Connector) {
-			// We restrict to Shape and Connector
-			view.setVisible(boolValue.isValue());
-		}
-
-	}
-
-} // IsVisiblePropertySetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerApplicationFactoryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerApplicationFactoryImpl.java
index 7a66859..ac35adc 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerApplicationFactoryImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerApplicationFactoryImpl.java
@@ -1,24 +1,29 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.emf.ecore.util.EcoreUtil;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerApplicationFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
@@ -61,7 +66,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayersStackApplication getApplication() {
 		if (eContainerFeatureID() != LayersPackage.LAYER_APPLICATION_FACTORY__APPLICATION) return null;
 		return (LayersStackApplication)eInternalContainer();
@@ -82,7 +86,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setApplication(LayersStackApplication newApplication) {
 		if (newApplication != eInternalContainer() || (eContainerFeatureID() != LayersPackage.LAYER_APPLICATION_FACTORY__APPLICATION && newApplication != null)) {
 			if (EcoreUtil.isAncestor(this, newApplication))
@@ -201,4 +204,4 @@
 		return super.eIsSet(featureID);
 	}
 
-} // LayerApplicationFactoryImpl
+} //LayerApplicationFactoryImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerDescriptorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerDescriptorImpl.java
index 98300a5..2381f1f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerDescriptorImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerDescriptorImpl.java
@@ -1,22 +1,26 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptor;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry;
@@ -69,7 +73,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public PropertyRegistry getPropertyRegistry() {
 		if (propertyRegistry != null && propertyRegistry.eIsProxy()) {
 			InternalEObject oldPropertyRegistry = (InternalEObject)propertyRegistry;
@@ -96,7 +99,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setPropertyRegistry(PropertyRegistry newPropertyRegistry) {
 		PropertyRegistry oldPropertyRegistry = propertyRegistry;
 		propertyRegistry = newPropertyRegistry;
@@ -163,4 +165,4 @@
 		return super.eIsSet(featureID);
 	}
 
-} // LayerDescriptorImpl
+} //LayerDescriptorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerDescriptorRegistryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerDescriptorRegistryImpl.java
index 0b5bcf2..7e9be2d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerDescriptorRegistryImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerDescriptorRegistryImpl.java
@@ -1,26 +1,33 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.util.Collection;
+import java.util.List;
 
 import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptor;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptorRegistry;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
@@ -73,8 +80,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EList<LayerDescriptor> getLayerDescriptors() {
+	public List<LayerDescriptor> getLayerDescriptors() {
 		if (layerDescriptors == null) {
 			layerDescriptors = new EObjectContainmentEList<LayerDescriptor>(LayerDescriptor.class, this, LayersPackage.LAYER_DESCRIPTOR_REGISTRY__LAYER_DESCRIPTORS);
 		}
@@ -155,4 +161,4 @@
 		return super.eIsSet(featureID);
 	}
 
-} // LayerDescriptorRegistryImpl
+} //LayerDescriptorRegistryImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerExpressionImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerExpressionImpl.java
index 9d16330..5bbc101 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerExpressionImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerExpressionImpl.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
@@ -19,15 +20,20 @@
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.impl.AdapterImpl;
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EcorePackage;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.BadStateException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerState;
@@ -54,8 +60,7 @@
  *
  * @generated
  */
-public abstract class LayerExpressionImpl extends
-		ApplicationDependantElementImpl implements LayerExpression {
+public abstract class LayerExpressionImpl extends ApplicationDependantElementImpl implements LayerExpression {
 	/**
 	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -65,6 +70,7 @@
 	 * @ordered
 	 */
 	protected static final String NAME_EDEFAULT = null;
+
 	/**
 	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -74,6 +80,7 @@
 	 * @ordered
 	 */
 	protected String name = NAME_EDEFAULT;
+
 	/**
 	 * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -83,6 +90,7 @@
 	 * @ordered
 	 */
 	protected static final String DESCRIPTION_EDEFAULT = null;
+
 	/**
 	 * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -102,6 +110,7 @@
 	 * @ordered
 	 */
 	protected static final boolean IS_LAYER_ENABLED_INTERNAL_EDEFAULT = false;
+
 	/**
 	 * The default value of the '{@link #isLayerEnabled() <em>Is Layer Enabled</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -111,6 +120,7 @@
 	 * @ordered
 	 */
 	protected static final boolean IS_LAYER_ENABLED_EDEFAULT = true;
+
 	/**
 	 * The cached value of the '{@link #isLayerEnabled() <em>Is Layer Enabled</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -120,6 +130,7 @@
 	 * @ordered
 	 */
 	protected boolean isLayerEnabled = IS_LAYER_ENABLED_EDEFAULT;
+
 	/**
 	 * The default value of the '{@link #isBranchEnabled() <em>Is Branch Enabled</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -129,6 +140,7 @@
 	 * @ordered
 	 */
 	protected static final boolean IS_BRANCH_ENABLED_EDEFAULT = true;
+
 	/**
 	 * The cached value of the '{@link #isBranchEnabled() <em>Is Branch Enabled</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -138,6 +150,7 @@
 	 * @ordered
 	 */
 	protected boolean isBranchEnabled = IS_BRANCH_ENABLED_EDEFAULT;
+
 	/**
 	 * The cached value of the '{@link #getOwningLayersStack() <em>Owning Layers Stack</em>}' reference.
 	 * <!-- begin-user-doc -->
@@ -157,6 +170,7 @@
 	 * @ordered
 	 */
 	protected static final LayerState STATE_EDEFAULT = LayerState.DETACHED;
+
 	/**
 	 * The cached value of the '{@link #getState() <em>State</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -166,8 +180,11 @@
 	 * @ordered
 	 */
 	protected LayerState state = STATE_EDEFAULT;
+
 	/**
 	 * Listener on this object container (i.e owner) attached/detached events
+	 * 
+	 * @generated NOT
 	 */
 	protected Adapter containerListener = new AdapterImpl() {
 		@Override
@@ -195,7 +212,6 @@
 
 	};
 
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -212,9 +228,12 @@
 
 	}
 
+
 	/**
 	 * Start the behaviors associated to this layer.
 	 * This method is called by one of the methods: {@link #startAfterReloading()} or {@link #attachToLayersStack(LayersStack)}.
+	 * 
+	 * @generated NOT
 	 */
 	protected void startBehaviors() {
 
@@ -300,7 +319,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated NOT
 	 */
 	@Override
@@ -328,19 +347,14 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	@Override
 	public void setIsBranchEnabled(boolean newIsBranchEnabled) {
 		boolean oldIsBranchEnabled = isBranchEnabled;
 		isBranchEnabled = newIsBranchEnabled;
-		if (eNotificationRequired()) {
+		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.LAYER_EXPRESSION__IS_BRANCH_ENABLED, oldIsBranchEnabled, isBranchEnabled));
-		}
-
-		// Propagate to children.
-		// This is done in LayerOperation.
 	}
 
 	/**
@@ -409,6 +423,58 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComputePropertyValueCommand getComputePropertyValueCommand(View view, Property property) throws LayersException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> view, Property property) throws LayersException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> property) throws LayersException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated NOT
+	 */
+	@Override
+	public void attachToLayersStack(LayersStack owningLayersStack) {
+
+		// the owning stack
+		setOwningLayersStack(owningLayersStack);
+
+		// Start associated behavior
+		startBehaviors();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
 	 *
 	 * @generated NOT
 	 */
@@ -426,7 +492,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated NOT
 	 */
 	@Override
@@ -437,7 +503,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated NOT
 	 */
 	@Override
@@ -465,9 +531,8 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-	 * Subclass can overload in order to stop some behaviors.
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated NOT
 	 */
 	@Override
@@ -482,7 +547,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
+	 * 
 	 * @generated NOT
 	 */
 	@Override
@@ -492,117 +557,6 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-	 * Start this element after its reloading by EMF
-	 * This method is called recursively by the parent of this element. <br>
-	 * This default implementation start the associated behaviors.
-	 *
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	public void startAfterReloading() {
-		startBehaviors();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public ComputePropertyValueCommand getComputePropertyValueCommand(View view, Property property) throws LayersException {
-		// TODO: implement this method
-		// Ensure that you remove @generated or mark it @generated NOT
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(EList<View> view, Property property) throws LayersException {
-		// TODO: implement this method
-		// Ensure that you remove @generated or mark it @generated NOT
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, EList<Property> property) throws LayersException {
-		// TODO: implement this method
-		// Ensure that you remove @generated or mark it @generated NOT
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * This default implementation set the layerStack, and start behaviors.
-	 * This method can be overriden by subclasses. In this case, subclass must ensure that
-	 * the {@link #owningLayersStack} is set and the behaviors are started.
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void attachToLayersStack(LayersStack owningLayersStack) {
-
-		// the owning stack
-		setOwningLayersStack(owningLayersStack);
-
-		// Start associated behavior
-		startBehaviors();
-	}
-
-	/**
-	 * Init this Layer.
-	 * Called by the LayerStack as soon as the layer is added in the tree of layers.
-	 * This method can be subclassed to init a particular layer.
-	 *
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	public void initLayer(LayersStack owningLayersStack) {
-
-		// the owning stack
-		setOwningLayersStack(owningLayersStack);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> view, Property property) throws LayersException {
-		// TODO: implement this method
-		// Ensure that you remove @generated or mark it @generated NOT
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> property) throws LayersException {
-		// TODO: implement this method
-		// Ensure that you remove @generated or mark it @generated NOT
-		throw new UnsupportedOperationException();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
@@ -730,16 +684,16 @@
 				catch (Throwable throwable) {
 					throw new InvocationTargetException(throwable);
 				}
-			case LayersPackage.LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY:
+			case LayersPackage.LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY:
 				try {
-					return getViewsComputePropertyValueCommand((EList<View>)arguments.get(0), (Property)arguments.get(1));
+					return getViewsComputePropertyValueCommand((List<View>)arguments.get(0), (Property)arguments.get(1));
 				}
 				catch (Throwable throwable) {
 					throw new InvocationTargetException(throwable);
 				}
-			case LayersPackage.LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST:
+			case LayersPackage.LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST:
 				try {
-					return getPropertiesComputePropertyValueCommand((View)arguments.get(0), (EList<Property>)arguments.get(1));
+					return getPropertiesComputePropertyValueCommand((View)arguments.get(0), (List<Property>)arguments.get(1));
 				}
 				catch (Throwable throwable) {
 					throw new InvocationTargetException(throwable);
@@ -794,7 +748,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: "); //$NON-NLS-1$
 		result.append(name);
 		result.append(", description: "); //$NON-NLS-1$
@@ -809,6 +763,38 @@
 		return result.toString();
 	}
 
+
+	/** Below is Custom code added to the class after generation, This MUST be removed during the next iteration of the model */
+	/**
+	 * <!-- begin-user-doc -->
+	 * Start this element after its reloading by EMF
+	 * This method is called recursively by the parent of this element. <br>
+	 * This default implementation start the associated behaviors.
+	 *
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public void startAfterReloading() {
+		startBehaviors();
+	}
+
+	/**
+	 * Init this Layer.
+	 * Called by the LayerStack as soon as the layer is added in the tree of layers.
+	 * This method can be subclassed to init a particular layer.
+	 *
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public void initLayer(LayersStack owningLayersStack) {
+
+		// the owning stack
+		setOwningLayersStack(owningLayersStack);
+	}
+
 	/**
 	 * This method is called when the container of this parent has changed.
 	 * Set the #owningLayerStack property and the {@link #isBranchEnabled()} property
@@ -822,6 +808,8 @@
 			setOwningLayersStack(newParent.getOwningLayersStack());
 			setIsBranchEnabled(newParent.isBranchEnabled());
 		}
-	};
+	}
+
+
 
 } // LayerExpressionImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerImpl.java
index 1ab2dcc..c94f60f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerImpl.java
@@ -1,18 +1,20 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Layer;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 
@@ -27,8 +29,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected LayerImpl() {
 		super();
@@ -44,5 +45,4 @@
 		return LayersPackage.Literals.LAYER;
 	}
 
-
-} // LayerImpl
+} //LayerImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerNamedStyleImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerNamedStyleImpl.java
index ca53ff3..f279b74 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerNamedStyleImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerNamedStyleImpl.java
@@ -1,26 +1,33 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.util.Collection;
+import java.util.List;
 
 import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
+
 import org.eclipse.gmf.runtime.notation.impl.NamedStyleImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerNamedStyle;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
@@ -73,8 +80,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EList<LayersStack> getLayersStack() {
+	public List<LayersStack> getLayersStack() {
 		if (layersStack == null) {
 			layersStack = new EObjectContainmentEList<LayersStack>(LayersStack.class, this, LayersPackage.LAYER_NAMED_STYLE__LAYERS_STACK);
 		}
@@ -155,4 +161,4 @@
 		return super.eIsSet(featureID);
 	}
 
-} // LayerNamedStyleImpl
+} //LayerNamedStyleImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorDescriptorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorDescriptorImpl.java
index fd7d319..9a776e9 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorDescriptorImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorDescriptorImpl.java
@@ -1,30 +1,37 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
+
 import java.util.Collection;
 import java.util.List;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
@@ -38,18 +45,18 @@
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorDescriptorImpl#getPropertyOperators <em>Property Operators</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorDescriptorImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorDescriptorImpl#getPropertyOperators <em>Property Operators</em>}</li>
+ * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorDescriptorImpl#getName <em>Name</em>}</li>
  * </ul>
  *
  * @generated
  */
 public class LayerOperatorDescriptorImpl extends EObjectImpl implements LayerOperatorDescriptor {
-
 	/**
 	 * The cached value of the '{@link #getPropertyOperators() <em>Property Operators</em>}' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @see #getPropertyOperators()
 	 * @generated
 	 * @ordered
@@ -60,6 +67,7 @@
 	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @see #getName()
 	 * @generated
 	 * @ordered
@@ -70,6 +78,7 @@
 	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @see #getName()
 	 * @generated
 	 * @ordered
@@ -79,6 +88,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	protected LayerOperatorDescriptorImpl() {
@@ -88,6 +98,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -99,26 +110,17 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	@Override
-	public EList<PropertyOperator> getPropertyOperators() {
-		if (propertyOperators == null) {
-			propertyOperators = new EObjectResolvingEList<PropertyOperator>(PropertyOperator.class, this, LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS) {
-				// Allows double
-				@Override
-				protected boolean isUnique() {
-					return false;
-				}
-
-			};
-		}
-		return propertyOperators;
+	public List<PropertyOperator> getPropertyOperators() {
+		return null;
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -129,6 +131,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -143,15 +146,11 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	@Override
 	public PropertyOperator getPropertyOperator(Property property) throws NotFoundException {
-		try {
-			return getPropertyOperators().get(property.getIndex());
-		} catch (IndexOutOfBoundsException e) {
-			throw new NotFoundException("Can't find operator for property '" + property.getName() + "' at index " + property.getIndex());
-		}
+		return null;
 	}
 
 	/**
@@ -159,22 +158,21 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	@Override
 	public void setPropertyOperator(Property property, PropertyOperator operator) {
-
-		// Set the operator at the property's index.
-		getPropertyOperators().set(property.getIndex(), operator);
+		return;
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
-	public AbstractLayerOperator createLayerOperator() {
+	public LayerOperator createLayerOperator() {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
 		throw new UnsupportedOperationException();
@@ -186,37 +184,26 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	@Override
-	public void setPropertyCollectionSize(int size, DefaultPropertyOperator defaultPropertyOperator) {
-
-		List<PropertyOperator> operators = getPropertyOperators();
-		int actualSize = operators.size();
-		// Check if we need to increase the size.
-		if (actualSize >= size) {
-			// do nothing
-			return;
-		}
-
-		// Add missing elements
-		for (int i = actualSize; i < size; i++) {
-			operators.add(defaultPropertyOperator);
-		}
+	public void setPropertyCollectionSize(int size, PropertyOperator defaultPropertyOperator) {
+		return;
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS:
-				return getPropertyOperators();
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__NAME:
-				return getName();
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS:
+			return getPropertyOperators();
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__NAME:
+			return getName();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -224,19 +211,20 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS:
-				getPropertyOperators().clear();
-				getPropertyOperators().addAll((Collection<? extends PropertyOperator>)newValue);
-				return;
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__NAME:
-				setName((String)newValue);
-				return;
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS:
+			getPropertyOperators().clear();
+			getPropertyOperators().addAll((Collection<? extends PropertyOperator>) newValue);
+			return;
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__NAME:
+			setName((String) newValue);
+			return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -244,17 +232,18 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS:
-				getPropertyOperators().clear();
-				return;
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__NAME:
-				setName(NAME_EDEFAULT);
-				return;
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS:
+			getPropertyOperators().clear();
+			return;
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__NAME:
+			setName(NAME_EDEFAULT);
+			return;
 		}
 		super.eUnset(featureID);
 	}
@@ -262,15 +251,16 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS:
-				return propertyOperators != null && !propertyOperators.isEmpty();
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS:
+			return propertyOperators != null && !propertyOperators.isEmpty();
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR__NAME:
+			return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -278,26 +268,26 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
 		switch (operationID) {
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR___GET_PROPERTY_OPERATOR__PROPERTY:
-				try {
-					return getPropertyOperator((Property)arguments.get(0));
-				}
-				catch (Throwable throwable) {
-					throw new InvocationTargetException(throwable);
-				}
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_OPERATOR__PROPERTY_PROPERTYOPERATOR:
-				setPropertyOperator((Property)arguments.get(0), (PropertyOperator)arguments.get(1));
-				return null;
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR___CREATE_LAYER_OPERATOR:
-				return createLayerOperator();
-			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR:
-				setPropertyCollectionSize((Integer)arguments.get(0), (DefaultPropertyOperator)arguments.get(1));
-				return null;
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR___GET_PROPERTY_OPERATOR__PROPERTY:
+			try {
+				return getPropertyOperator((Property) arguments.get(0));
+			} catch (Throwable throwable) {
+				throw new InvocationTargetException(throwable);
+			}
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_OPERATOR__PROPERTY_PROPERTYOPERATOR:
+			setPropertyOperator((Property) arguments.get(0), (PropertyOperator) arguments.get(1));
+			return null;
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR___CREATE_LAYER_OPERATOR:
+			return createLayerOperator();
+		case LayersPackage.LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_PROPERTYOPERATOR:
+			setPropertyCollectionSize((Integer) arguments.get(0), (PropertyOperator) arguments.get(1));
+			return null;
 		}
 		return super.eInvoke(operationID, arguments);
 	}
@@ -305,13 +295,15 @@
 	/**
 	 * <!-- 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());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: "); //$NON-NLS-1$
 		result.append(name);
 		result.append(')');
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorDescriptorRegistryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorDescriptorRegistryImpl.java
index bf4494a..0d50ac1 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorDescriptorRegistryImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorDescriptorRegistryImpl.java
@@ -1,36 +1,43 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
+
 import java.util.Collection;
+import java.util.List;
 
 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.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptorRegistry;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
@@ -100,18 +107,15 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected DefaultPropertyOperator defaultOperator;
+	protected PropertyOperator defaultOperator;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected LayerOperatorDescriptorRegistryImpl() {
 		super();
-		// Set the defaultOperator
-		defaultOperator = LayersFactory.eINSTANCE.createDefaultPropertyOperator();
 	}
 
 	/**
@@ -129,8 +133,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EList<LayerOperatorDescriptor> getDescriptors() {
+	public List<LayerOperatorDescriptor> getDescriptors() {
 		if (descriptors == null) {
 			descriptors = new EObjectContainmentEList<LayerOperatorDescriptor>(LayerOperatorDescriptor.class, this, LayersPackage.LAYER_OPERATOR_DESCRIPTOR_REGISTRY__DESCRIPTORS);
 		}
@@ -142,8 +145,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EList<PropertyOperator> getPropertyOperators() {
+	public List<PropertyOperator> getPropertyOperators() {
 		if (propertyOperators == null) {
 			propertyOperators = new EObjectContainmentEList<PropertyOperator>(PropertyOperator.class, this, LayersPackage.LAYER_OPERATOR_DESCRIPTOR_REGISTRY__PROPERTY_OPERATORS);
 		}
@@ -155,7 +157,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public int getPropertyCollectionSize() {
 		return propertyCollectionSize;
 	}
@@ -163,23 +164,13 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public void setPropertyCollectionSize(int newPropertyCollectionSize) {
 		int oldPropertyCollectionSize = propertyCollectionSize;
 		propertyCollectionSize = newPropertyCollectionSize;
-		if (eNotificationRequired()) {
+		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.LAYER_OPERATOR_DESCRIPTOR_REGISTRY__PROPERTY_COLLECTION_SIZE, oldPropertyCollectionSize, propertyCollectionSize));
-		}
-
-		// Propagate the size to registered LayerOperator
-		if (newPropertyCollectionSize > oldPropertyCollectionSize) {
-			for (LayerOperatorDescriptor descriptor : getDescriptors()) {
-				descriptor.setPropertyCollectionSize(newPropertyCollectionSize, getDefaultOperator());
-			}
-		}
 	}
 
 	/**
@@ -187,11 +178,10 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public DefaultPropertyOperator getDefaultOperator() {
+	public PropertyOperator getDefaultOperator() {
 		if (defaultOperator != null && defaultOperator.eIsProxy()) {
 			InternalEObject oldDefaultOperator = (InternalEObject)defaultOperator;
-			defaultOperator = (DefaultPropertyOperator)eResolveProxy(oldDefaultOperator);
+			defaultOperator = (PropertyOperator)eResolveProxy(oldDefaultOperator);
 			if (defaultOperator != oldDefaultOperator) {
 				if (eNotificationRequired())
 					eNotify(new ENotificationImpl(this, Notification.RESOLVE, LayersPackage.LAYER_OPERATOR_DESCRIPTOR_REGISTRY__DEFAULT_OPERATOR, oldDefaultOperator, defaultOperator));
@@ -205,116 +195,74 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public DefaultPropertyOperator basicGetDefaultOperator() {
+	public PropertyOperator basicGetDefaultOperator() {
 		return defaultOperator;
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public void addLayerOperatorDescriptor(LayerOperatorDescriptor descriptor) {
-
-		// Ensure descriptor size
-		descriptor.setPropertyCollectionSize(getPropertyCollectionSize(), getDefaultOperator());
-		// Add descriptor
-		getDescriptors().add(descriptor);
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public LayerOperatorDescriptor getLayerOperatorDescriptor(String name) throws NotFoundException {
-		if (name == null) {
-			throw new NotFoundException("Can't find LayerOperatorDescriptor for name 'null'.");
-		}
-		for (LayerOperatorDescriptor descriptor : getDescriptors()) {
-			if (name.equals(descriptor.getName())) {
-				return descriptor;
-			}
-		}
-		// Not found
-		throw new NotFoundException("Can't find LayerOperatorDescriptor for name '" + name + "'.");
-
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public void addPropertyOperator(PropertyOperator operator) {
-		getPropertyOperators().add(operator);
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public PropertyOperator getPropertyOperator(String name) throws NotFoundException {
-
-		if (name == null) {
-			throw new NotFoundException("Can't find PropertyOperator for name 'null'.");
-		}
-		for (PropertyOperator op : getPropertyOperators()) {
-			if (name.equals(op.getName())) {
-				return op;
-			}
-		}
-		// Not found
-		throw new NotFoundException("Can't find PropertyOperator for name '" + name + "'.");
-
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @throws NotFoundException
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public void attachOperatorToDescriptor(Property property, String operatorName, String layerDescriptorName) throws NotFoundException {
-
-		// Ensure that PropertiesCollectionSize can contain the property index.
-		if (getPropertyCollectionSize() <= property.getIndex()) {
-			setPropertyCollectionSize(property.getIndex());
-		}
-
-		// Attach the operator to the LayerOperator
-		PropertyOperator op = getPropertyOperator(operatorName);
-		LayerOperatorDescriptor layerOp = getLayerOperatorDescriptor(layerDescriptorName);
-
-		layerOp.setPropertyOperator(property, op);
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
-	public AbstractLayerOperator createLayerOperator(String layerOperatorID) throws LayersException {
-
-		LayerOperatorDescriptor desc = getLayerOperatorDescriptor(layerOperatorID);
-
-		AbstractLayerOperator newLayerOperator = desc.createLayerOperator();
-
-		// newLayerOperator.setApplication();
-		return newLayerOperator;
+	public LayerOperator createLayerOperator(String layerOperatorID) throws LayersException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
@@ -475,11 +423,11 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (propertyCollectionSize: "); //$NON-NLS-1$
 		result.append(propertyCollectionSize);
 		result.append(')');
 		return result.toString();
 	}
 
-} // LayerOperatorDescriptorRegistryImpl
+} //LayerOperatorDescriptorRegistryImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorImpl.java
index c171609..51db472 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerOperatorImpl.java
@@ -1,29 +1,39 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
 
+import java.util.Collection;
+import java.util.List;
+
+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.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersContainer;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
@@ -36,7 +46,9 @@
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorImpl#getLayers <em>Layers</em>}</li>
+ * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorImpl#getLayers <em>Layers</em>}</li>
+ * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorImpl#getLayerOperatorDescriptorName <em>Layer Operator Descriptor Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorImpl#getLayerOperatorDescriptor <em>Layer Operator Descriptor</em>}</li>
  * </ul>
  *
  * @generated
@@ -46,6 +58,7 @@
 	 * The cached value of the '{@link #getLayers() <em>Layers</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @see #getLayers()
 	 * @generated
 	 * @ordered
@@ -53,8 +66,42 @@
 	protected EList<LayerExpression> layers;
 
 	/**
+	 * The default value of the '{@link #getLayerOperatorDescriptorName() <em>Layer Operator Descriptor Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
+	 * @see #getLayerOperatorDescriptorName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String LAYER_OPERATOR_DESCRIPTOR_NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getLayerOperatorDescriptorName() <em>Layer Operator Descriptor Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @see #getLayerOperatorDescriptorName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String layerOperatorDescriptorName = LAYER_OPERATOR_DESCRIPTOR_NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getLayerOperatorDescriptor() <em>Layer Operator Descriptor</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @see #getLayerOperatorDescriptor()
+	 * @generated
+	 * @ordered
+	 */
+	protected LayerOperatorDescriptor layerOperatorDescriptor;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	protected LayerOperatorImpl() {
@@ -64,6 +111,7 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
@@ -74,10 +122,11 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
-	public EList<LayerExpression> getLayers() {
+	public List<LayerExpression> getLayers() {
 		if (layers == null) {
 			layers = new EObjectContainmentEList<LayerExpression>(LayerExpression.class, this, LayersPackage.LAYER_OPERATOR__LAYERS);
 		}
@@ -87,8 +136,76 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getLayerOperatorDescriptorName() {
+		return layerOperatorDescriptorName;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void setLayerOperatorDescriptorName(String newLayerOperatorDescriptorName) {
+		String oldLayerOperatorDescriptorName = layerOperatorDescriptorName;
+		layerOperatorDescriptorName = newLayerOperatorDescriptorName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME, oldLayerOperatorDescriptorName, layerOperatorDescriptorName));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public LayerOperatorDescriptor getLayerOperatorDescriptor() {
+		if (layerOperatorDescriptor != null && layerOperatorDescriptor.eIsProxy()) {
+			InternalEObject oldLayerOperatorDescriptor = (InternalEObject) layerOperatorDescriptor;
+			layerOperatorDescriptor = (LayerOperatorDescriptor) eResolveProxy(oldLayerOperatorDescriptor);
+			if (layerOperatorDescriptor != oldLayerOperatorDescriptor) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR, oldLayerOperatorDescriptor, layerOperatorDescriptor));
+			}
+		}
+		return layerOperatorDescriptor;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public LayerOperatorDescriptor basicGetLayerOperatorDescriptor() {
+		return layerOperatorDescriptor;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void setLayerOperatorDescriptor(LayerOperatorDescriptor newLayerOperatorDescriptor) {
+		LayerOperatorDescriptor oldLayerOperatorDescriptor = layerOperatorDescriptor;
+		layerOperatorDescriptor = newLayerOperatorDescriptor;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR, oldLayerOperatorDescriptor, layerOperatorDescriptor));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
 	 */
 	@Override
 	public void addLayer(LayerExpression layer) {
@@ -100,13 +217,40 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public boolean isDescriptorSet() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void resetDescriptor() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case LayersPackage.LAYER_OPERATOR__LAYERS:
-				return ((InternalEList<?>)getLayers()).basicRemove(otherEnd, msgs);
+		case LayersPackage.LAYER_OPERATOR__LAYERS:
+			return ((InternalEList<?>) getLayers()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -114,13 +258,20 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case LayersPackage.LAYER_OPERATOR__LAYERS:
-				return getLayers();
+		case LayersPackage.LAYER_OPERATOR__LAYERS:
+			return getLayers();
+		case LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
+			return getLayerOperatorDescriptorName();
+		case LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR:
+			if (resolve)
+				return getLayerOperatorDescriptor();
+			return basicGetLayerOperatorDescriptor();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -128,16 +279,23 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case LayersPackage.LAYER_OPERATOR__LAYERS:
-				getLayers().clear();
-				getLayers().addAll((Collection<? extends LayerExpression>)newValue);
-				return;
+		case LayersPackage.LAYER_OPERATOR__LAYERS:
+			getLayers().clear();
+			getLayers().addAll((Collection<? extends LayerExpression>) newValue);
+			return;
+		case LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
+			setLayerOperatorDescriptorName((String) newValue);
+			return;
+		case LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR:
+			setLayerOperatorDescriptor((LayerOperatorDescriptor) newValue);
+			return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -145,14 +303,21 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case LayersPackage.LAYER_OPERATOR__LAYERS:
-				getLayers().clear();
-				return;
+		case LayersPackage.LAYER_OPERATOR__LAYERS:
+			getLayers().clear();
+			return;
+		case LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
+			setLayerOperatorDescriptorName(LAYER_OPERATOR_DESCRIPTOR_NAME_EDEFAULT);
+			return;
+		case LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR:
+			setLayerOperatorDescriptor((LayerOperatorDescriptor) null);
+			return;
 		}
 		super.eUnset(featureID);
 	}
@@ -160,13 +325,18 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case LayersPackage.LAYER_OPERATOR__LAYERS:
-				return layers != null && !layers.isEmpty();
+		case LayersPackage.LAYER_OPERATOR__LAYERS:
+			return layers != null && !layers.isEmpty();
+		case LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
+			return LAYER_OPERATOR_DESCRIPTOR_NAME_EDEFAULT == null ? layerOperatorDescriptorName != null : !LAYER_OPERATOR_DESCRIPTOR_NAME_EDEFAULT.equals(layerOperatorDescriptorName);
+		case LayersPackage.LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR:
+			return layerOperatorDescriptor != null;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -174,14 +344,17 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
 		if (baseClass == LayersContainer.class) {
 			switch (baseOperationID) {
-				case LayersPackage.LAYERS_CONTAINER___ADD_LAYER__LAYEREXPRESSION: return LayersPackage.LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION;
-				default: return -1;
+			case LayersPackage.LAYERS_CONTAINER___ADD_LAYER__LAYEREXPRESSION:
+				return LayersPackage.LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION;
+			default:
+				return -1;
 			}
 		}
 		return super.eDerivedOperationID(baseOperationID, baseClass);
@@ -190,35 +363,42 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
 		switch (operationID) {
-			case LayersPackage.LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION:
-				addLayer((LayerExpression)arguments.get(0));
-				return null;
+		case LayersPackage.LAYER_OPERATOR___ADD_LAYER__LAYEREXPRESSION:
+			addLayer((LayerExpression) arguments.get(0));
+			return null;
+		case LayersPackage.LAYER_OPERATOR___IS_DESCRIPTOR_SET:
+			return isDescriptorSet();
+		case LayersPackage.LAYER_OPERATOR___RESET_DESCRIPTOR:
+			resetDescriptor();
+			return null;
 		}
 		return super.eInvoke(operationID, arguments);
 	}
 
 	/**
-	 * Get the LayersStack that own directly or indirectly this Layer.
-	 * Throw an exception if no {@link LayersStack} can be found. <br>
-	 * Lookup is done recursively in parent containers.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getLayersStack()
-	 *
-	 * @return
-	 * @throws NotFoundException
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
 	 */
-	// @Override
-	// public LayersStack getLayersStack() throws NotFoundException {
-	// // TODO: performance improvment. It is possible to avoid the lookup
-	// // by caching the LayersStack, or by setting a corresponding property
-	// // in the model
-	// return (LayersStack)ECoreUtils.lookupAncestorOfType(this, LayersPackage.eINSTANCE.getLayersStack());
-	// }
+	@Override
+	public String toString() {
+		if (eIsProxy())
+			return super.toString();
+
+		StringBuilder result = new StringBuilder(super.toString());
+		result.append(" (layerOperatorDescriptorName: "); //$NON-NLS-1$
+		result.append(layerOperatorDescriptorName);
+		result.append(')');
+		return result.toString();
+	}
+
 
 	/**
 	 * Propagate the change to children
@@ -226,6 +406,8 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#setIsBranchEnabled(boolean)
 	 *
 	 * @param newIsBranchEnabled
+	 * 
+	 * @generated
 	 */
 	@Override
 	public void setIsBranchEnabled(boolean newIsBranchEnabled) {
@@ -244,6 +426,8 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#setOwningLayersStack(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack)
 	 *
 	 * @param newOwningLayersStack
+	 * 
+	 * @generated
 	 */
 	@Override
 	public void setOwningLayersStack(LayersStack newOwningLayersStack) {
@@ -264,7 +448,7 @@
 	 * <!-- end-user-doc -->
 	 *
 	 * @throws LayersException
-	 * @generated NOT
+	 * @generated
 	 */
 	@Override
 	public void attach() throws LayersException {
@@ -281,6 +465,7 @@
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#detach()
 	 *
 	 * @throws LayersException
+	 * @generated
 	 */
 	@Override
 	public void detach() throws LayersException {
@@ -297,7 +482,7 @@
 	 * <!-- end-user-doc -->
 	 *
 	 * @deprecated unless we need it again
-	 * @generated NOT
+	 * @generated
 	 */
 	@Deprecated
 	@Override
@@ -315,5 +500,4 @@
 		startBehaviors();
 	}
 
-
 } // LayerOperatorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerStackDescriptorRegistryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerStackDescriptorRegistryImpl.java
index c81fec1..179b73f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerStackDescriptorRegistryImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayerStackDescriptorRegistryImpl.java
@@ -1,19 +1,22 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerStackDescriptorRegistry;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 
@@ -44,4 +47,4 @@
 		return LayersPackage.Literals.LAYER_STACK_DESCRIPTOR_REGISTRY;
 	}
 
-} // LayerStackDescriptorRegistryImpl
+} //LayerStackDescriptorRegistryImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersFactoryForStackImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersFactoryForStackImpl.java
deleted file mode 100755
index b584f4f..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersFactoryForStackImpl.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Layer;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersContainer;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactoryForStack;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * This factory allows to create Layers dedicated to a Application and {@link LayersStack} <!-- end-user-doc -->
- *
- * @generated
- */
-public class LayersFactoryForStackImpl implements LayersFactoryForStack {
-
-	/**
-	 * Index used to postfix the layer name.
-	 */
-	protected int newIndex = 0;
-
-	public final String LAYER_NAME_PREFIX = "layer";
-
-	/**
-	 * Creates the default factory implementation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated
-	 */
-	public static LayersFactoryForStack init() {
-		return new LayersFactoryForStackImpl();
-	}
-
-	/**
-	 * Creates an instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated
-	 */
-	public LayersFactoryForStackImpl() {
-		super();
-	}
-
-	public String findNewLayerName(LayersContainer parent) {
-
-		String proposedName = LAYER_NAME_PREFIX + newIndex++;
-
-		// Check if the name is available in the targetted container
-		if (parent instanceof LayerOperator) {
-			LayerOperator parentOperator = (LayerOperator) parent;
-			while (getLayerByName(parentOperator, proposedName) != null) {
-				proposedName = LAYER_NAME_PREFIX + newIndex++;
-			}
-		}
-		return proposedName;
-	}
-
-	/**
-	 * Get a layer by its name.
-	 *
-	 * @param parentOperator
-	 *            The container containing layers
-	 * @param name
-	 *            Name of the requested layer.
-	 * @return The requested layer, or null.
-	 */
-	private LayerExpression getLayerByName(LayerOperator parentOperator, String name) {
-
-
-		for (LayerExpression layer : parentOperator.getLayers()) {
-			if (name.equals(layer.getName())) {
-				return layer;
-			}
-		}
-		// Not found
-		return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public LayersStack createLayersStack() {
-		throw new UnsupportedOperationException("Not yet implemented");
-	}
-
-
-	/**
-	 *
-	 * @param layer
-	 *            The layer to init
-	 * @param parentLayer
-	 *            The parent Layer to which layer is added
-	 * @param owningStack
-	 *            The {@link LayersStack} owning the tree of layers
-	 * @param application
-	 *            The application required by layer.
-	 *
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public LayerExpression initLayer(LayerExpression layer, LayersContainer parentLayer, LayersStack owningStack, LayersStackApplication application) throws LayersException {
-		// Init the created layer
-		layer.setApplication(application);
-		layer.setName(findNewLayerName(parentLayer));
-		parentLayer.addLayer(layer);
-		layer.setOwningLayersStack(owningStack);
-		// Start the layer
-		layer.attach();
-
-		return layer;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @throws LayersException
-	 * @generated NOT
-	 */
-	@Override
-	public Layer createLayer(LayersContainer parent, LayersStack owningStack, LayersStackApplication application) throws LayersException {
-		Layer layer = LayersFactory.eINSTANCE.createLayer();
-		// Init the created layer
-		initLayer(layer, parent, owningStack, application);
-
-		return layer;
-	}
-
-	@Override
-	public RegExpLayer createRegExpLayer(LayersContainer parent, LayersStack owningStack, LayersStackApplication application) throws LayersException {
-		RegExpLayer layer = LayersFactory.eINSTANCE.createRegExpLayer();
-		// Init the created layer
-		initLayer(layer, parent, owningStack, application);
-
-		return layer;
-	}
-
-	@Override
-	public TopLayerOperator createTopLayerOperator(LayersContainer parent, LayersStack owningStack, LayersStackApplication application) throws LayersException {
-		TopLayerOperator layer = LayersFactory.eINSTANCE.createTopLayerOperator();
-		// Init the created layer
-		initLayer(layer, parent, owningStack, application);
-
-		return layer;
-	}
-
-	@Override
-	public StackedLayerOperator createStackedLayerOperator(LayersContainer parent, LayersStack owningStack, LayersStackApplication application) throws LayersException {
-		StackedLayerOperator layer = LayersFactory.eINSTANCE.createStackedLayerOperator();
-		// Init the created layer
-		initLayer(layer, parent, owningStack, application);
-
-		return layer;
-	}
-
-	/**
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactoryForStack#createLayerOperator(java.lang.String, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersContainer, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack,
-	 *      org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication)
-	 *
-	 * @param layerOperatorID
-	 * @param parent
-	 * @param owningStack
-	 * @param application
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public AbstractLayerOperator createLayerOperator(String layerOperatorID, LayersContainer parent, LayersStack owningStack, LayersStackApplication application) throws LayersException {
-		// Create a layer !
-		AbstractLayerOperator layerOperator = application.getLayerOperatorDescriptorRegistry().createLayerOperator(layerOperatorID);
-		// Init the created layer
-		initLayer(layerOperator, parent, owningStack, application);
-
-		return layerOperator;
-	}
-
-
-
-
-} // LayersFactoryImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersFactoryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersFactoryImpl.java
index 359262b..bd3ee38 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersFactoryImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersFactoryImpl.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
@@ -18,14 +19,18 @@
 import org.eclipse.emf.ecore.EDataType;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
+
 import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
 import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.BadStateException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.*;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance;
 
 /**
  * <!-- begin-user-doc -->
@@ -77,7 +82,6 @@
 			case LayersPackage.LAYER_STACK_DESCRIPTOR_REGISTRY: return createLayerStackDescriptorRegistry();
 			case LayersPackage.PROPERTY_REGISTRY: return createPropertyRegistry();
 			case LayersPackage.PROPERTY: return createProperty();
-			case LayersPackage.METAMODEL: return createMetamodel();
 			case LayersPackage.TYPE_REGISTRY: return createTypeRegistry();
 			case LayersPackage.STRING_TO_TYPE_MAP: return (EObject)createStringToTypeMap();
 			case LayersPackage.LAYER_DESCRIPTOR_REGISTRY: return createLayerDescriptorRegistry();
@@ -88,46 +92,19 @@
 			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR_REGISTRY: return createLayerOperatorDescriptorRegistry();
 			case LayersPackage.LAYER_OPERATOR_DESCRIPTOR: return createLayerOperatorDescriptor();
 			case LayersPackage.PROPERTY_OPERATOR: return createPropertyOperator();
-			case LayersPackage.DEFAULT_PROPERTY_OPERATOR: return createDefaultPropertyOperator();
 			case LayersPackage.STRING_TO_TYPE_INSTANCE_MAP: return (EObject)createStringToTypeInstanceMap();
 			case LayersPackage.FOLDER: return createFolder();
-			case LayersPackage.INT_INSTANCE: return createIntInstance();
-			case LayersPackage.BOOLEAN_INSTANCE: return createBooleanInstance();
-			case LayersPackage.STRING_INSTANCE: return createStringInstance();
-			case LayersPackage.INT_TYPE: return createIntType();
-			case LayersPackage.BOOLEAN_TYPE: return createBooleanType();
-			case LayersPackage.STRING_TYPE: return createStringType();
-			case LayersPackage.CUSTOM_TYPE: return createCustomType();
+			case LayersPackage.METAMODEL: return createMetamodel();
 			case LayersPackage.TOP_LAYER_OPERATOR: return createTopLayerOperator();
 			case LayersPackage.STACKED_LAYER_OPERATOR: return createStackedLayerOperator();
-			case LayersPackage.CUSTOM_LAYER_OPERATOR: return createCustomLayerOperator();
 			case LayersPackage.PROPERTY_INDEX: return createPropertyIndex();
 			case LayersPackage.STRING_TO_PROPERTY_INDEX_MAP: return (EObject)createStringToPropertyIndexMap();
 			case LayersPackage.SIMPLE_LAYER_DESCRIPTOR: return createSimpleLayerDescriptor();
-			case LayersPackage.REG_EXP_LAYER_DESCRIPTOR: return createRegExpLayerDescriptor();
 			case LayersPackage.NULL_INSTANCE: return createNullInstance();
-			case LayersPackage.REG_EXP_LAYER: return createRegExpLayer();
 			case LayersPackage.LAYER: return createLayer();
-			case LayersPackage.COLOR: return createColor();
-			case LayersPackage.COLOR_INSTANCE: return createColorInstance();
-			case LayersPackage.FILL_INSTANCE: return createFillInstance();
-			case LayersPackage.FILL: return createFill();
-			case LayersPackage.FILL_PROPERTY_SETTER: return createFillPropertySetter();
-			case LayersPackage.IS_VALID_PROPERTY_SETTER: return createIsValidPropertySetter();
 			case LayersPackage.NULL_PROPERTY_SETTER: return createNullPropertySetter();
-			case LayersPackage.LINE_TYPE: return createLineType();
-			case LayersPackage.LINE_INSTANCE: return createLineInstance();
-			case LayersPackage.LINE_PROPERTY_SETTER: return createLinePropertySetter();
-			case LayersPackage.FONT_PROPERTY_SETTER: return createFontPropertySetter();
-			case LayersPackage.FONT_INSTANCE: return createFontInstance();
-			case LayersPackage.FONT_TYPE: return createFontType();
-			case LayersPackage.IS_VISIBLE_PROPERTY_SETTER: return createIsVisiblePropertySetter();
 			case LayersPackage.TOP_LAYER_OPERATOR_DESCRIPTOR: return createTopLayerOperatorDescriptor();
 			case LayersPackage.STACKED_LAYER_OPERATOR_DESCRIPTOR: return createStackedLayerOperatorDescriptor();
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR: return createCustomPropertyOperator();
-			case LayersPackage.AND_STACKED_LAYER_OPERATOR_DESCRIPTOR: return createAndStackedLayerOperatorDescriptor();
-			case LayersPackage.OR_STACKED_LAYER_OPERATOR_DESCRIPTOR: return createOrStackedLayerOperatorDescriptor();
-			case LayersPackage.IS_ABSTRACT_UML_SETTER: return createIsAbstractUmlSetter();
 			case LayersPackage.ALL_VIEWS_DERIVED_LAYER: return createAllViewsDerivedLayer();
 			case LayersPackage.CSS_PROPERTY_SETTER: return createCSSPropertySetter();
 			case LayersPackage.CSS_TYPE: return createCSSType();
@@ -154,10 +131,6 @@
 				return createEventLevelFromString(eDataType, initialValue);
 			case LayersPackage.STRING:
 				return createStringFromString(eDataType, initialValue);
-			case LayersPackage.BOOLEAN:
-				return createbooleanFromString(eDataType, initialValue);
-			case LayersPackage.EPACKAGE:
-				return createEPackageFromString(eDataType, initialValue);
 			case LayersPackage.LAYERS_EXCEPTION:
 				return createLayersExceptionFromString(eDataType, initialValue);
 			case LayersPackage.INT:
@@ -168,10 +141,12 @@
 				return createNotFoundExceptionFromString(eDataType, initialValue);
 			case LayersPackage.COMPUTE_PROPERTY_VALUE_COMMAND:
 				return createComputePropertyValueCommandFromString(eDataType, initialValue);
+			case LayersPackage.BOOLEAN:
+				return createbooleanFromString(eDataType, initialValue);
+			case LayersPackage.EPACKAGE:
+				return createEPackageFromString(eDataType, initialValue);
 			case LayersPackage.OBJECT:
 				return createObjectFromString(eDataType, initialValue);
-			case LayersPackage.CUSTOM_PROPERTY_OPERTOR_INSTANCE:
-				return createCustomPropertyOpertorInstanceFromString(eDataType, initialValue);
 			default:
 				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
 		}
@@ -191,10 +166,6 @@
 				return convertEventLevelToString(eDataType, instanceValue);
 			case LayersPackage.STRING:
 				return convertStringToString(eDataType, instanceValue);
-			case LayersPackage.BOOLEAN:
-				return convertbooleanToString(eDataType, instanceValue);
-			case LayersPackage.EPACKAGE:
-				return convertEPackageToString(eDataType, instanceValue);
 			case LayersPackage.LAYERS_EXCEPTION:
 				return convertLayersExceptionToString(eDataType, instanceValue);
 			case LayersPackage.INT:
@@ -205,10 +176,12 @@
 				return convertNotFoundExceptionToString(eDataType, instanceValue);
 			case LayersPackage.COMPUTE_PROPERTY_VALUE_COMMAND:
 				return convertComputePropertyValueCommandToString(eDataType, instanceValue);
+			case LayersPackage.BOOLEAN:
+				return convertbooleanToString(eDataType, instanceValue);
+			case LayersPackage.EPACKAGE:
+				return convertEPackageToString(eDataType, instanceValue);
 			case LayersPackage.OBJECT:
 				return convertObjectToString(eDataType, instanceValue);
-			case LayersPackage.CUSTOM_PROPERTY_OPERTOR_INSTANCE:
-				return convertCustomPropertyOpertorInstanceToString(eDataType, instanceValue);
 			default:
 				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
 		}
@@ -219,7 +192,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerNamedStyle createLayerNamedStyle() {
 		LayerNamedStyleImpl layerNamedStyle = new LayerNamedStyleImpl();
 		return layerNamedStyle;
@@ -230,7 +202,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayersStack createLayersStack() {
 		LayersStackImpl layersStack = new LayersStackImpl();
 		return layersStack;
@@ -241,7 +212,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayersStackApplication createLayersStackApplication() {
 		LayersStackApplicationImpl layersStackApplication = new LayersStackApplicationImpl();
 		return layersStackApplication;
@@ -252,7 +222,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerStackDescriptorRegistry createLayerStackDescriptorRegistry() {
 		LayerStackDescriptorRegistryImpl layerStackDescriptorRegistry = new LayerStackDescriptorRegistryImpl();
 		return layerStackDescriptorRegistry;
@@ -263,7 +232,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public PropertyRegistry createPropertyRegistry() {
 		PropertyRegistryImpl propertyRegistry = new PropertyRegistryImpl();
 		return propertyRegistry;
@@ -274,7 +242,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public Property createProperty() {
 		PropertyImpl property = new PropertyImpl();
 		return property;
@@ -285,18 +252,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public Metamodel createMetamodel() {
-		MetamodelImpl metamodel = new MetamodelImpl();
-		return metamodel;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public TypeRegistry createTypeRegistry() {
 		TypeRegistryImpl typeRegistry = new TypeRegistryImpl();
 		return typeRegistry;
@@ -317,7 +272,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerDescriptorRegistry createLayerDescriptorRegistry() {
 		LayerDescriptorRegistryImpl layerDescriptorRegistry = new LayerDescriptorRegistryImpl();
 		return layerDescriptorRegistry;
@@ -328,7 +282,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerDescriptor createLayerDescriptor() {
 		LayerDescriptorImpl layerDescriptor = new LayerDescriptorImpl();
 		return layerDescriptor;
@@ -339,7 +292,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerApplicationFactory createLayerApplicationFactory() {
 		LayerApplicationFactoryImpl layerApplicationFactory = new LayerApplicationFactoryImpl();
 		return layerApplicationFactory;
@@ -350,7 +302,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public PropertySetterRegistry createPropertySetterRegistry() {
 		PropertySetterRegistryImpl propertySetterRegistry = new PropertySetterRegistryImpl();
 		return propertySetterRegistry;
@@ -371,9 +322,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public Map.Entry<String, TypeInstance> createStringToTypeInstanceMap() {
-		StringToTypeInstanceMapImpl stringToTypeInstanceMap = new StringToTypeInstanceMapImpl();
-		return stringToTypeInstanceMap;
+	public LayerOperatorDescriptorRegistry createLayerOperatorDescriptorRegistry() {
+		LayerOperatorDescriptorRegistryImpl layerOperatorDescriptorRegistry = new LayerOperatorDescriptorRegistryImpl();
+		return layerOperatorDescriptorRegistry;
 	}
 
 	/**
@@ -381,95 +332,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public Folder createFolder() {
-		FolderImpl folder = new FolderImpl();
-		return folder;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public IntInstance createIntInstance() {
-		IntInstanceImpl intInstance = new IntInstanceImpl();
-		return intInstance;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public BooleanInstance createBooleanInstance() {
-		BooleanInstanceImpl booleanInstance = new BooleanInstanceImpl();
-		return booleanInstance;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public StringInstance createStringInstance() {
-		StringInstanceImpl stringInstance = new StringInstanceImpl();
-		return stringInstance;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public IntType createIntType() {
-		IntTypeImpl intType = new IntTypeImpl();
-		return intType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public BooleanType createBooleanType() {
-		BooleanTypeImpl booleanType = new BooleanTypeImpl();
-		return booleanType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public StringType createStringType() {
-		StringTypeImpl stringType = new StringTypeImpl();
-		return stringType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public CustomType createCustomType() {
-		CustomTypeImpl customType = new CustomTypeImpl();
-		return customType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public LayerOperatorDescriptor createLayerOperatorDescriptor() {
 		LayerOperatorDescriptorImpl layerOperatorDescriptor = new LayerOperatorDescriptorImpl();
 		return layerOperatorDescriptor;
@@ -480,7 +342,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public PropertyOperator createPropertyOperator() {
 		PropertyOperatorImpl propertyOperator = new PropertyOperatorImpl();
 		return propertyOperator;
@@ -491,10 +352,9 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public DefaultPropertyOperator createDefaultPropertyOperator() {
-		DefaultPropertyOperatorImpl defaultPropertyOperator = new DefaultPropertyOperatorImpl();
-		return defaultPropertyOperator;
+	public Map.Entry<String, TypeInstance> createStringToTypeInstanceMap() {
+		StringToTypeInstanceMapImpl stringToTypeInstanceMap = new StringToTypeInstanceMapImpl();
+		return stringToTypeInstanceMap;
 	}
 
 	/**
@@ -502,7 +362,26 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
+	public Folder createFolder() {
+		FolderImpl folder = new FolderImpl();
+		return folder;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Metamodel createMetamodel() {
+		MetamodelImpl metamodel = new MetamodelImpl();
+		return metamodel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public TopLayerOperator createTopLayerOperator() {
 		TopLayerOperatorImpl topLayerOperator = new TopLayerOperatorImpl();
 		return topLayerOperator;
@@ -513,7 +392,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public StackedLayerOperator createStackedLayerOperator() {
 		StackedLayerOperatorImpl stackedLayerOperator = new StackedLayerOperatorImpl();
 		return stackedLayerOperator;
@@ -524,18 +402,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public CustomLayerOperator createCustomLayerOperator() {
-		CustomLayerOperatorImpl customLayerOperator = new CustomLayerOperatorImpl();
-		return customLayerOperator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public PropertyIndex createPropertyIndex() {
 		PropertyIndexImpl propertyIndex = new PropertyIndexImpl();
 		return propertyIndex;
@@ -556,7 +422,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public SimpleLayerDescriptor createSimpleLayerDescriptor() {
 		SimpleLayerDescriptorImpl simpleLayerDescriptor = new SimpleLayerDescriptorImpl();
 		return simpleLayerDescriptor;
@@ -567,18 +432,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public RegExpLayerDescriptor createRegExpLayerDescriptor() {
-		RegExpLayerDescriptorImpl regExpLayerDescriptor = new RegExpLayerDescriptorImpl();
-		return regExpLayerDescriptor;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public NullInstance createNullInstance() {
 		NullInstanceImpl nullInstance = new NullInstanceImpl();
 		return nullInstance;
@@ -589,18 +442,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public RegExpLayer createRegExpLayer() {
-		RegExpLayerImpl regExpLayer = new RegExpLayerImpl();
-		return regExpLayer;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Layer createLayer() {
 		LayerImpl layer = new LayerImpl();
 		return layer;
@@ -611,73 +452,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public Color createColor() {
-		ColorImpl color = new ColorImpl();
-		return color;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public ColorInstance createColorInstance() {
-		ColorInstanceImpl colorInstance = new ColorInstanceImpl();
-		return colorInstance;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public FillInstance createFillInstance() {
-		FillInstanceImpl fillInstance = new FillInstanceImpl();
-		return fillInstance;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Fill createFill() {
-		FillImpl fill = new FillImpl();
-		return fill;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public FillPropertySetter createFillPropertySetter() {
-		FillPropertySetterImpl fillPropertySetter = new FillPropertySetterImpl();
-		return fillPropertySetter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public IsValidPropertySetter createIsValidPropertySetter() {
-		IsValidPropertySetterImpl isValidPropertySetter = new IsValidPropertySetterImpl();
-		return isValidPropertySetter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public NullPropertySetter createNullPropertySetter() {
 		NullPropertySetterImpl nullPropertySetter = new NullPropertySetterImpl();
 		return nullPropertySetter;
@@ -688,95 +462,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public LineType createLineType() {
-		LineTypeImpl lineType = new LineTypeImpl();
-		return lineType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public LineInstance createLineInstance() {
-		LineInstanceImpl lineInstance = new LineInstanceImpl();
-		return lineInstance;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public LinePropertySetter createLinePropertySetter() {
-		LinePropertySetterImpl linePropertySetter = new LinePropertySetterImpl();
-		return linePropertySetter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public FontPropertySetter createFontPropertySetter() {
-		FontPropertySetterImpl fontPropertySetter = new FontPropertySetterImpl();
-		return fontPropertySetter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public FontInstance createFontInstance() {
-		FontInstanceImpl fontInstance = new FontInstanceImpl();
-		return fontInstance;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public FontType createFontType() {
-		FontTypeImpl fontType = new FontTypeImpl();
-		return fontType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public IsVisiblePropertySetter createIsVisiblePropertySetter() {
-		IsVisiblePropertySetterImpl isVisiblePropertySetter = new IsVisiblePropertySetterImpl();
-		return isVisiblePropertySetter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public LayerOperatorDescriptorRegistry createLayerOperatorDescriptorRegistry() {
-		LayerOperatorDescriptorRegistryImpl layerOperatorDescriptorRegistry = new LayerOperatorDescriptorRegistryImpl();
-		return layerOperatorDescriptorRegistry;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public TopLayerOperatorDescriptor createTopLayerOperatorDescriptor() {
 		TopLayerOperatorDescriptorImpl topLayerOperatorDescriptor = new TopLayerOperatorDescriptorImpl();
 		return topLayerOperatorDescriptor;
@@ -787,7 +472,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public StackedLayerOperatorDescriptor createStackedLayerOperatorDescriptor() {
 		StackedLayerOperatorDescriptorImpl stackedLayerOperatorDescriptor = new StackedLayerOperatorDescriptorImpl();
 		return stackedLayerOperatorDescriptor;
@@ -798,51 +482,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public CustomPropertyOperator createCustomPropertyOperator() {
-		CustomPropertyOperatorImpl customPropertyOperator = new CustomPropertyOperatorImpl();
-		return customPropertyOperator;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public AndStackedLayerOperatorDescriptor createAndStackedLayerOperatorDescriptor() {
-		AndStackedLayerOperatorDescriptorImpl andStackedLayerOperatorDescriptor = new AndStackedLayerOperatorDescriptorImpl();
-		return andStackedLayerOperatorDescriptor;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public OrStackedLayerOperatorDescriptor createOrStackedLayerOperatorDescriptor() {
-		OrStackedLayerOperatorDescriptorImpl orStackedLayerOperatorDescriptor = new OrStackedLayerOperatorDescriptorImpl();
-		return orStackedLayerOperatorDescriptor;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public IsAbstractUmlSetter createIsAbstractUmlSetter() {
-		IsAbstractUmlSetterImpl isAbstractUmlSetter = new IsAbstractUmlSetterImpl();
-		return isAbstractUmlSetter;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public AllViewsDerivedLayer createAllViewsDerivedLayer() {
 		AllViewsDerivedLayerImpl allViewsDerivedLayer = new AllViewsDerivedLayerImpl();
 		return allViewsDerivedLayer;
@@ -971,8 +610,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public Boolean createbooleanFromString(EDataType eDataType, String initialValue) {
-		return (Boolean)super.createFromString(eDataType, initialValue);
+	public LayersException createLayersExceptionFromString(EDataType eDataType, String initialValue) {
+		return (LayersException)super.createFromString(eDataType, initialValue);
 	}
 
 	/**
@@ -980,7 +619,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public String convertbooleanToString(EDataType eDataType, Object instanceValue) {
+	public String convertLayersExceptionToString(EDataType eDataType, Object instanceValue) {
 		return super.convertToString(eDataType, instanceValue);
 	}
 
@@ -989,8 +628,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EPackage createEPackageFromString(EDataType eDataType, String initialValue) {
-		return (EPackage)super.createFromString(eDataType, initialValue);
+	public Integer createintFromString(EDataType eDataType, String initialValue) {
+		return (Integer)super.createFromString(eDataType, initialValue);
 	}
 
 	/**
@@ -998,7 +637,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public String convertEPackageToString(EDataType eDataType, Object instanceValue) {
+	public String convertintToString(EDataType eDataType, Object instanceValue) {
 		return super.convertToString(eDataType, instanceValue);
 	}
 
@@ -1025,24 +664,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public LayersException createLayersExceptionFromString(EDataType eDataType, String initialValue) {
-		return (LayersException)super.createFromString(eDataType, initialValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertLayersExceptionToString(EDataType eDataType, Object instanceValue) {
-		return super.convertToString(eDataType, instanceValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	public NotFoundException createNotFoundExceptionFromString(EDataType eDataType, String initialValue) {
 		return (NotFoundException)createLayersExceptionFromString(LayersPackage.Literals.LAYERS_EXCEPTION, initialValue);
 	}
@@ -1079,8 +700,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public Integer createintFromString(EDataType eDataType, String initialValue) {
-		return (Integer)super.createFromString(eDataType, initialValue);
+	public Boolean createbooleanFromString(EDataType eDataType, String initialValue) {
+		return (Boolean)super.createFromString(eDataType, initialValue);
 	}
 
 	/**
@@ -1088,7 +709,25 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public String convertintToString(EDataType eDataType, Object instanceValue) {
+	public String convertbooleanToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(eDataType, instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EPackage createEPackageFromString(EDataType eDataType, String initialValue) {
+		return (EPackage)super.createFromString(eDataType, initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertEPackageToString(EDataType eDataType, Object instanceValue) {
 		return super.convertToString(eDataType, instanceValue);
 	}
 
@@ -1115,25 +754,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public CustomPropertyOperatorsInstance createCustomPropertyOpertorInstanceFromString(EDataType eDataType, String initialValue) {
-		return (CustomPropertyOperatorsInstance)super.createFromString(eDataType, initialValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertCustomPropertyOpertorInstanceToString(EDataType eDataType, Object instanceValue) {
-		return super.convertToString(eDataType, instanceValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public LayersPackage getLayersPackage() {
 		return (LayersPackage)getEPackage();
 	}
@@ -1149,4 +769,4 @@
 		return LayersPackage.eINSTANCE;
 	}
 
-} // LayersFactoryImpl
+} //LayersFactoryImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersPackageImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersPackageImpl.java
index d7ff2d6..56dca8a 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersPackageImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersPackageImpl.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
@@ -22,46 +23,31 @@
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EcorePackage;
+
 import org.eclipse.emf.ecore.impl.EPackageImpl;
+
 import org.eclipse.gmf.runtime.notation.NotationPackage;
+
 import org.eclipse.papyrus.infra.gmfdiag.css.stylesheets.StylesheetsPackage;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.BadStateException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayer;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AllViewsDerivedLayer;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AndStackedLayerOperatorDescriptor;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ApplicationDependantElement;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanType;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSHideInstance;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSHidePropertySetter;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSHideType;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSInstance;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSPropertySetter;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Color;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Fill;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillPropertySetter;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Folder;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FolderElement;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontPropertySetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsAbstractUmlSetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsValidPropertySetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsVisiblePropertySetter;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Layer;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerApplicationFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptor;
@@ -78,32 +64,23 @@
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LinePropertySetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineType;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullInstance;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullPropertySetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.OrStackedLayerOperatorDescriptor;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyIndex;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetterRegistry;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayerDescriptor;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.SimpleLayerDescriptor;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperatorDescriptor;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringType;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperatorDescriptor;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeRegistry;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance;
 
 /**
  * <!-- begin-user-doc -->
@@ -187,13 +164,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass metamodelEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	private EClass typeInstanceEClass = null;
 
 	/**
@@ -264,6 +234,41 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EClass layerOperatorDescriptorRegistryEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass layerOperatorDescriptorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass propertyOperatorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass layerOperatorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass layersContainerEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EClass abstractLayerEClass = null;
 
 	/**
@@ -285,91 +290,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass intInstanceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass booleanInstanceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass stringInstanceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass intTypeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass booleanTypeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass stringTypeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass customTypeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass layerOperatorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass layersContainerEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass abstractLayerOperatorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass layerOperatorDescriptorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass propertyOperatorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass defaultPropertyOperatorEClass = null;
+	private EClass metamodelEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -390,13 +311,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass customLayerOperatorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	private EClass propertyIndexEClass = null;
 
 	/**
@@ -418,13 +332,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass regExpLayerDescriptorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	private EClass nullInstanceEClass = null;
 
 	/**
@@ -432,13 +339,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass regExpLayerEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	private EClass layerEClass = null;
 
 	/**
@@ -446,48 +346,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass colorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass colorInstanceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass fillInstanceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass fillEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass fillPropertySetterEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass isValidPropertySetterEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	private EClass nullPropertySetterEClass = null;
 
 	/**
@@ -495,62 +353,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass lineTypeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass lineInstanceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass linePropertySetterEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass fontPropertySetterEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass fontInstanceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass fontTypeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass isVisiblePropertySetterEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass layerOperatorDescriptorRegistryEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	private EClass topLayerOperatorDescriptorEClass = null;
 
 	/**
@@ -565,34 +367,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass customPropertyOperatorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass andStackedLayerOperatorDescriptorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass orStackedLayerOperatorDescriptorEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass isAbstractUmlSetterEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	private EClass allViewsDerivedLayerEClass = null;
 
 	/**
@@ -663,14 +437,14 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EDataType booleanEDataType = null;
+	private EDataType layersExceptionEDataType = null;
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EDataType ePackageEDataType = null;
+	private EDataType intEDataType = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -684,13 +458,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EDataType layersExceptionEDataType = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	private EDataType notFoundExceptionEDataType = null;
 
 	/**
@@ -705,7 +472,14 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EDataType intEDataType = null;
+	private EDataType booleanEDataType = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EDataType ePackageEDataType = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -715,13 +489,6 @@
 	private EDataType objectEDataType = null;
 
 	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EDataType customPropertyOpertorInstanceEDataType = null;
-
-	/**
 	 * Creates an instance of the model <b>Package</b>, registered with
 	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
 	 * package URI value.
@@ -729,7 +496,8 @@
 	 * factory method {@link #init init()}, which also performs
 	 * initialization of the package, or returns the registered package,
 	 * if one already exists.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @see org.eclipse.emf.ecore.EPackage.Registry
 	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage#eNS_URI
 	 * @see #init()
@@ -748,10 +516,11 @@
 
 	/**
 	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
-	 * 
+	 *
 	 * <p>This method is used to initialize {@link LayersPackage#eINSTANCE} when that field is accessed.
 	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @see #eNS_URI
 	 * @see #createPackageContents()
 	 * @see #initializePackageContents()
@@ -761,7 +530,8 @@
 		if (isInited) return (LayersPackage)EPackage.Registry.INSTANCE.getEPackage(LayersPackage.eNS_URI);
 
 		// Obtain or create and register package
-		LayersPackageImpl theLayersPackage = (LayersPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof LayersPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new LayersPackageImpl());
+		Object registeredLayersPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		LayersPackageImpl theLayersPackage = registeredLayersPackage instanceof LayersPackageImpl ? (LayersPackageImpl)registeredLayersPackage : new LayersPackageImpl();
 
 		isInited = true;
 
@@ -779,7 +549,6 @@
 		// Mark meta-data to indicate it can't be changed
 		theLayersPackage.freeze();
 
-  
 		// Update the registry and return the package
 		EPackage.Registry.INSTANCE.put(LayersPackage.eNS_URI, theLayersPackage);
 		return theLayersPackage;
@@ -790,7 +559,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getLayerNamedStyle() {
 		return layerNamedStyleEClass;
 	}
@@ -800,7 +568,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayerNamedStyle_LayersStack() {
 		return (EReference)layerNamedStyleEClass.getEStructuralFeatures().get(0);
 	}
@@ -810,7 +577,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getLayersStack() {
 		return layersStackEClass;
 	}
@@ -820,7 +586,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayersStack_Layers() {
 		return (EReference)layersStackEClass.getEStructuralFeatures().get(0);
 	}
@@ -830,7 +595,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getLayersStack_Name() {
 		return (EAttribute)layersStackEClass.getEStructuralFeatures().get(1);
 	}
@@ -840,7 +604,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getLayersStack_Description() {
 		return (EAttribute)layersStackEClass.getEStructuralFeatures().get(2);
 	}
@@ -850,7 +613,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayersStack_Diagram() {
 		return (EReference)layersStackEClass.getEStructuralFeatures().get(3);
 	}
@@ -860,7 +622,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getLayersStack_State() {
 		return (EAttribute)layersStackEClass.getEStructuralFeatures().get(4);
 	}
@@ -870,7 +631,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStack__GetComputePropertyValueCommand__View_Property() {
 		return layersStackEClass.getEOperations().get(0);
 	}
@@ -880,8 +640,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EOperation getLayersStack__GetPropertiesComputePropertyValueCommand__View_EList() {
+	public EOperation getLayersStack__GetPropertiesComputePropertyValueCommand__View_List() {
 		return layersStackEClass.getEOperations().get(1);
 	}
 
@@ -890,8 +649,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EOperation getLayersStack__GetViewsComputePropertyValueCommand__EList_Property() {
+	public EOperation getLayersStack__GetViewsComputePropertyValueCommand__List_Property() {
 		return layersStackEClass.getEOperations().get(2);
 	}
 
@@ -900,7 +658,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStack__StartAfterCreation() {
 		return layersStackEClass.getEOperations().get(3);
 	}
@@ -910,7 +667,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStack__AttachLayers() {
 		return layersStackEClass.getEOperations().get(4);
 	}
@@ -920,7 +676,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStack__Attach() {
 		return layersStackEClass.getEOperations().get(5);
 	}
@@ -930,7 +685,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStack__Detach() {
 		return layersStackEClass.getEOperations().get(6);
 	}
@@ -940,7 +694,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStack__EnterAttachedState() {
 		return layersStackEClass.getEOperations().get(7);
 	}
@@ -950,7 +703,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStack__ExitAttachedState() {
 		return layersStackEClass.getEOperations().get(8);
 	}
@@ -960,7 +712,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getLayerExpression() {
 		return layerExpressionEClass;
 	}
@@ -970,7 +721,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getLayerExpression_Name() {
 		return (EAttribute)layerExpressionEClass.getEStructuralFeatures().get(0);
 	}
@@ -980,7 +730,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getLayerExpression_Description() {
 		return (EAttribute)layerExpressionEClass.getEStructuralFeatures().get(1);
 	}
@@ -990,7 +739,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getLayerExpression_IsLayerEnabledInternal() {
 		return (EAttribute)layerExpressionEClass.getEStructuralFeatures().get(2);
 	}
@@ -1000,7 +748,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getLayerExpression_IsLayerEnabled() {
 		return (EAttribute)layerExpressionEClass.getEStructuralFeatures().get(3);
 	}
@@ -1010,7 +757,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getLayerExpression_IsBranchEnabled() {
 		return (EAttribute)layerExpressionEClass.getEStructuralFeatures().get(4);
 	}
@@ -1020,7 +766,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayerExpression_OwningLayersStack() {
 		return (EReference)layerExpressionEClass.getEStructuralFeatures().get(5);
 	}
@@ -1030,7 +775,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getLayerExpression_State() {
 		return (EAttribute)layerExpressionEClass.getEStructuralFeatures().get(6);
 	}
@@ -1040,7 +784,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerExpression__GetComputePropertyValueCommand__View_Property() {
 		return layerExpressionEClass.getEOperations().get(0);
 	}
@@ -1050,8 +793,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EOperation getLayerExpression__GetViewsComputePropertyValueCommand__EList_Property() {
+	public EOperation getLayerExpression__GetViewsComputePropertyValueCommand__List_Property() {
 		return layerExpressionEClass.getEOperations().get(1);
 	}
 
@@ -1060,8 +802,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EOperation getLayerExpression__GetPropertiesComputePropertyValueCommand__View_EList() {
+	public EOperation getLayerExpression__GetPropertiesComputePropertyValueCommand__View_List() {
 		return layerExpressionEClass.getEOperations().get(2);
 	}
 
@@ -1070,7 +811,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerExpression__AttachToLayersStack__LayersStack() {
 		return layerExpressionEClass.getEOperations().get(3);
 	}
@@ -1080,7 +820,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerExpression__GetLayersStack() {
 		return layerExpressionEClass.getEOperations().get(4);
 	}
@@ -1090,7 +829,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerExpression__EnterAttachedState() {
 		return layerExpressionEClass.getEOperations().get(5);
 	}
@@ -1100,7 +838,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerExpression__Attach() {
 		return layerExpressionEClass.getEOperations().get(6);
 	}
@@ -1110,7 +847,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerExpression__Detach() {
 		return layerExpressionEClass.getEOperations().get(7);
 	}
@@ -1120,7 +856,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerExpression__ExitAttachedState() {
 		return layerExpressionEClass.getEOperations().get(8);
 	}
@@ -1130,7 +865,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getApplicationDependantElement() {
 		return applicationDependantElementEClass;
 	}
@@ -1140,7 +874,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getApplicationDependantElement_Application() {
 		return (EReference)applicationDependantElementEClass.getEStructuralFeatures().get(0);
 	}
@@ -1150,7 +883,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getLayersStackApplication() {
 		return layersStackApplicationEClass;
 	}
@@ -1160,7 +892,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayersStackApplication_LayersStacks() {
 		return (EReference)layersStackApplicationEClass.getEStructuralFeatures().get(0);
 	}
@@ -1170,7 +901,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayersStackApplication_LayerStackRegistry() {
 		return (EReference)layersStackApplicationEClass.getEStructuralFeatures().get(1);
 	}
@@ -1180,7 +910,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayersStackApplication_PropertyRegistry() {
 		return (EReference)layersStackApplicationEClass.getEStructuralFeatures().get(2);
 	}
@@ -1190,7 +919,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayersStackApplication_LayerDescriptorRegistry() {
 		return (EReference)layersStackApplicationEClass.getEStructuralFeatures().get(3);
 	}
@@ -1200,7 +928,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayersStackApplication_Factory() {
 		return (EReference)layersStackApplicationEClass.getEStructuralFeatures().get(4);
 	}
@@ -1210,7 +937,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayersStackApplication_PropertySetterRegistry() {
 		return (EReference)layersStackApplicationEClass.getEStructuralFeatures().get(5);
 	}
@@ -1220,7 +946,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayersStackApplication_LayerOperatorDescriptorRegistry() {
 		return (EReference)layersStackApplicationEClass.getEStructuralFeatures().get(6);
 	}
@@ -1230,7 +955,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStackApplication__GetLayersStackFor__Diagram() {
 		return layersStackApplicationEClass.getEOperations().get(0);
 	}
@@ -1240,7 +964,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStackApplication__RemoveLayersStackFor__Diagram() {
 		return layersStackApplicationEClass.getEOperations().get(1);
 	}
@@ -1250,7 +973,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStackApplication__IsLayersStackAttachedFor__Diagram() {
 		return layersStackApplicationEClass.getEOperations().get(2);
 	}
@@ -1260,7 +982,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStackApplication__CreateLayersStackFor__Diagram() {
 		return layersStackApplicationEClass.getEOperations().get(3);
 	}
@@ -1270,7 +991,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayersStackApplication__LookupLayersStackFor__Diagram() {
 		return layersStackApplicationEClass.getEOperations().get(4);
 	}
@@ -1280,7 +1000,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getFolderElement() {
 		return folderElementEClass;
 	}
@@ -1290,7 +1009,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getLayerStackDescriptorRegistry() {
 		return layerStackDescriptorRegistryEClass;
 	}
@@ -1300,7 +1018,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getPropertyRegistry() {
 		return propertyRegistryEClass;
 	}
@@ -1310,7 +1027,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getPropertyRegistry_Properties() {
 		return (EReference)propertyRegistryEClass.getEStructuralFeatures().get(0);
 	}
@@ -1320,7 +1036,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getPropertyRegistry_TypeRegistry() {
 		return (EReference)propertyRegistryEClass.getEStructuralFeatures().get(1);
 	}
@@ -1330,7 +1045,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getPropertyRegistry_PropertiesCount() {
 		return (EAttribute)propertyRegistryEClass.getEStructuralFeatures().get(2);
 	}
@@ -1340,7 +1054,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getPropertyRegistry__GetPropertyIndex__String() {
 		return propertyRegistryEClass.getEOperations().get(0);
 	}
@@ -1350,7 +1063,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getPropertyRegistry__GetProperty__String() {
 		return propertyRegistryEClass.getEOperations().get(1);
 	}
@@ -1360,7 +1072,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getPropertyRegistry__AddProperty__Property() {
 		return propertyRegistryEClass.getEOperations().get(2);
 	}
@@ -1370,7 +1081,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getProperty() {
 		return propertyEClass;
 	}
@@ -1380,7 +1090,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getProperty_Type() {
 		return (EReference)propertyEClass.getEStructuralFeatures().get(0);
 	}
@@ -1390,7 +1099,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getProperty_DefaultValue() {
 		return (EReference)propertyEClass.getEStructuralFeatures().get(1);
 	}
@@ -1400,7 +1108,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getProperty_Name() {
 		return (EAttribute)propertyEClass.getEStructuralFeatures().get(2);
 	}
@@ -1410,7 +1117,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getProperty_Description() {
 		return (EAttribute)propertyEClass.getEStructuralFeatures().get(3);
 	}
@@ -1420,7 +1126,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getProperty_Index() {
 		return (EAttribute)propertyEClass.getEStructuralFeatures().get(4);
 	}
@@ -1430,7 +1135,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getProperty__CreateInstance() {
 		return propertyEClass.getEOperations().get(0);
 	}
@@ -1440,7 +1144,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getType() {
 		return typeEClass;
 	}
@@ -1450,9 +1153,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EReference getType_Metamodel() {
-		return (EReference)typeEClass.getEStructuralFeatures().get(0);
+	public EAttribute getType_Name() {
+		return (EAttribute)typeEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -1460,8 +1162,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EAttribute getType_Name() {
+	public EAttribute getType_Description() {
 		return (EAttribute)typeEClass.getEStructuralFeatures().get(1);
 	}
 
@@ -1470,17 +1171,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EAttribute getType_Description() {
-		return (EAttribute)typeEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public EOperation getType__CreateInstance() {
 		return typeEClass.getEOperations().get(0);
 	}
@@ -1490,87 +1180,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EClass getMetamodel() {
-		return metamodelEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getMetamodel_Name() {
-		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getMetamodel_Description() {
-		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getMetamodel_Nsuri() {
-		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getMetamodel_PluginID() {
-		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getMetamodel_EPackageInstanceName() {
-		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getMetamodel_IsTypeValid() {
-		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getMetamodel__GetEPackage() {
-		return metamodelEClass.getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public EClass getTypeInstance() {
 		return typeInstanceEClass;
 	}
@@ -1580,7 +1189,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getTypeInstance__SetValueFromString__String() {
 		return typeInstanceEClass.getEOperations().get(0);
 	}
@@ -1590,7 +1198,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getTypeInstance__SetValueFromInstance__TypeInstance() {
 		return typeInstanceEClass.getEOperations().get(1);
 	}
@@ -1600,7 +1207,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getComputePropertyValueCommandItf() {
 		return computePropertyValueCommandItfEClass;
 	}
@@ -1610,7 +1216,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getComputePropertyValueCommandItf__GetCmdValue() {
 		return computePropertyValueCommandItfEClass.getEOperations().get(0);
 	}
@@ -1620,7 +1225,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getTypeRegistry() {
 		return typeRegistryEClass;
 	}
@@ -1630,7 +1234,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getTypeRegistry_Types() {
 		return (EReference)typeRegistryEClass.getEStructuralFeatures().get(0);
 	}
@@ -1640,7 +1243,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getStringToTypeMap() {
 		return stringToTypeMapEClass;
 	}
@@ -1650,7 +1252,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getStringToTypeMap_Value() {
 		return (EReference)stringToTypeMapEClass.getEStructuralFeatures().get(0);
 	}
@@ -1660,7 +1261,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getStringToTypeMap_Key() {
 		return (EAttribute)stringToTypeMapEClass.getEStructuralFeatures().get(1);
 	}
@@ -1670,7 +1270,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getLayerDescriptorRegistry() {
 		return layerDescriptorRegistryEClass;
 	}
@@ -1680,7 +1279,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayerDescriptorRegistry_LayerDescriptors() {
 		return (EReference)layerDescriptorRegistryEClass.getEStructuralFeatures().get(0);
 	}
@@ -1690,7 +1288,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getLayerDescriptor() {
 		return layerDescriptorEClass;
 	}
@@ -1700,7 +1297,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayerDescriptor_PropertyRegistry() {
 		return (EReference)layerDescriptorEClass.getEStructuralFeatures().get(0);
 	}
@@ -1710,7 +1306,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getLayerApplicationFactory() {
 		return layerApplicationFactoryEClass;
 	}
@@ -1720,7 +1315,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayerApplicationFactory_Application() {
 		return (EReference)layerApplicationFactoryEClass.getEStructuralFeatures().get(0);
 	}
@@ -1730,7 +1324,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getPropertySetterRegistry() {
 		return propertySetterRegistryEClass;
 	}
@@ -1740,7 +1333,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getPropertySetterRegistry_PropertySetters() {
 		return (EReference)propertySetterRegistryEClass.getEStructuralFeatures().get(0);
 	}
@@ -1750,7 +1342,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getPropertySetterRegistry_SetterMap() {
 		return (EReference)propertySetterRegistryEClass.getEStructuralFeatures().get(1);
 	}
@@ -1760,7 +1351,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getPropertySetterRegistry_Application() {
 		return (EReference)propertySetterRegistryEClass.getEStructuralFeatures().get(2);
 	}
@@ -1770,7 +1360,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getPropertySetterRegistry__GetPropertySetter__Property() {
 		return propertySetterRegistryEClass.getEOperations().get(0);
 	}
@@ -1780,7 +1369,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getPropertySetterRegistry__GetPropertySetter__String() {
 		return propertySetterRegistryEClass.getEOperations().get(1);
 	}
@@ -1790,7 +1378,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getPropertySetterRegistry__AddPropertySetter__PropertySetter() {
 		return propertySetterRegistryEClass.getEOperations().get(2);
 	}
@@ -1800,7 +1387,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getPropertySetter() {
 		return propertySetterEClass;
 	}
@@ -1810,7 +1396,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getPropertySetter_Property() {
 		return (EReference)propertySetterEClass.getEStructuralFeatures().get(0);
 	}
@@ -1820,7 +1405,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getPropertySetter_PropertyName() {
 		return (EAttribute)propertySetterEClass.getEStructuralFeatures().get(1);
 	}
@@ -1830,7 +1414,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getPropertySetter__SetValue__View_TypeInstance() {
 		return propertySetterEClass.getEOperations().get(0);
 	}
@@ -1840,7 +1423,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getStringToPropertySetter() {
 		return stringToPropertySetterEClass;
 	}
@@ -1850,7 +1432,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getStringToPropertySetter_Key() {
 		return (EAttribute)stringToPropertySetterEClass.getEStructuralFeatures().get(0);
 	}
@@ -1860,7 +1441,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getStringToPropertySetter_Value() {
 		return (EReference)stringToPropertySetterEClass.getEStructuralFeatures().get(1);
 	}
@@ -1870,997 +1450,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EClass getAbstractLayer() {
-		return abstractLayerEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getAbstractLayer_PropertyValues() {
-		return (EReference)abstractLayerEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getAbstractLayer_PropertyValueMap() {
-		return (EReference)abstractLayerEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getAbstractLayer_LayerDescriptor() {
-		return (EReference)abstractLayerEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getAbstractLayer_Views() {
-		return (EReference)abstractLayerEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getAbstractLayer_AttachedProperties() {
-		return (EReference)abstractLayerEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getAbstractLayer__AddPropertyInstance__Property() {
-		return abstractLayerEClass.getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getAbstractLayer__RemovePropertyInstance__Property() {
-		return abstractLayerEClass.getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getAbstractLayer__GetPropertyInstance__Property() {
-		return abstractLayerEClass.getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getAbstractLayer__GetPropertyInstance__String() {
-		return abstractLayerEClass.getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getStringToTypeInstanceMap() {
-		return stringToTypeInstanceMapEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getStringToTypeInstanceMap_Key() {
-		return (EAttribute)stringToTypeInstanceMapEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getStringToTypeInstanceMap_Value() {
-		return (EReference)stringToTypeInstanceMapEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getFolder() {
-		return folderEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getFolder_Elements() {
-		return (EReference)folderEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getFolder_Name() {
-		return (EAttribute)folderEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getIntInstance() {
-		return intInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getIntInstance_Value() {
-		return (EAttribute)intInstanceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getBooleanInstance() {
-		return booleanInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getBooleanInstance_Value() {
-		return (EAttribute)booleanInstanceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getStringInstance() {
-		return stringInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getStringInstance_Value() {
-		return (EAttribute)stringInstanceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getIntType() {
-		return intTypeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getBooleanType() {
-		return booleanTypeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getStringType() {
-		return stringTypeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getCustomType() {
-		return customTypeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getCustomType_Classifier() {
-		return (EAttribute)customTypeEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getLayerOperator() {
-		return layerOperatorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getLayerOperator_Layers() {
-		return (EReference)layerOperatorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getLayersContainer() {
-		return layersContainerEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getLayersContainer__AddLayer__LayerExpression() {
-		return layersContainerEClass.getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getAbstractLayerOperator() {
-		return abstractLayerOperatorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getAbstractLayerOperator_LayerOperatorDescriptor() {
-		return (EReference)abstractLayerOperatorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getAbstractLayerOperator_LayerOperatorDescriptorName() {
-		return (EAttribute)abstractLayerOperatorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getAbstractLayerOperator__IsDescriptorSet() {
-		return abstractLayerOperatorEClass.getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getAbstractLayerOperator__ResetDescriptor() {
-		return abstractLayerOperatorEClass.getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getLayerOperatorDescriptor() {
-		return layerOperatorDescriptorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getLayerOperatorDescriptor_PropertyOperators() {
-		return (EReference)layerOperatorDescriptorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getLayerOperatorDescriptor_Name() {
-		return (EAttribute)layerOperatorDescriptorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getLayerOperatorDescriptor__GetPropertyOperator__Property() {
-		return layerOperatorDescriptorEClass.getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getLayerOperatorDescriptor__SetPropertyOperator__Property_PropertyOperator() {
-		return layerOperatorDescriptorEClass.getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getLayerOperatorDescriptor__CreateLayerOperator() {
-		return layerOperatorDescriptorEClass.getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getLayerOperatorDescriptor__SetPropertyCollectionSize__int_DefaultPropertyOperator() {
-		return layerOperatorDescriptorEClass.getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getPropertyOperator() {
-		return propertyOperatorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getPropertyOperator_Name() {
-		return (EAttribute)propertyOperatorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getPropertyOperator__GetComputePropertyValueCommand__EList() {
-		return propertyOperatorEClass.getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getDefaultPropertyOperator() {
-		return defaultPropertyOperatorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getTopLayerOperator() {
-		return topLayerOperatorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getStackedLayerOperator() {
-		return stackedLayerOperatorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getCustomLayerOperator() {
-		return customLayerOperatorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getPropertyIndex() {
-		return propertyIndexEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getPropertyIndex_Property() {
-		return (EReference)propertyIndexEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getPropertyIndex_Index() {
-		return (EAttribute)propertyIndexEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getStringToPropertyIndexMap() {
-		return stringToPropertyIndexMapEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getStringToPropertyIndexMap_Value() {
-		return (EReference)stringToPropertyIndexMapEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getStringToPropertyIndexMap_Key() {
-		return (EAttribute)stringToPropertyIndexMapEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getSimpleLayerDescriptor() {
-		return simpleLayerDescriptorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getRegExpLayerDescriptor() {
-		return regExpLayerDescriptorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getNullInstance() {
-		return nullInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getNullInstance__GetInstance() {
-		return nullInstanceEClass.getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getRegExpLayer() {
-		return regExpLayerEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getRegExpLayer_Expr() {
-		return (EAttribute)regExpLayerEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getRegExpLayer_Language() {
-		return (EAttribute)regExpLayerEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getRegExpLayer_IsDomainChangedEventDependant() {
-		return (EAttribute)regExpLayerEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getRegExpLayer_DomainChangedEventLevel() {
-		return (EAttribute)regExpLayerEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getRegExpLayer_IsDiagramChangedEventDependant() {
-		return (EAttribute)regExpLayerEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getRegExpLayer_DiagramChangedEventLevel() {
-		return (EAttribute)regExpLayerEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getRegExpLayer_ExpressionContextObjectType() {
-		return (EAttribute)regExpLayerEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getRegExpLayer__Activate__AbstractLayerOperator() {
-		return regExpLayerEClass.getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getRegExpLayer__Deactivate__AbstractLayerOperator() {
-		return regExpLayerEClass.getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getRegExpLayer__IsDerivedView__View() {
-		return regExpLayerEClass.getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getRegExpLayer__AttachDerivedView__View() {
-		return regExpLayerEClass.getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getRegExpLayer__AttachDerivedViews__EList() {
-		return regExpLayerEClass.getEOperations().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getRegExpLayer__AttachDerivedViews() {
-		return regExpLayerEClass.getEOperations().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getRegExpLayer__LookupDerivedViews__EList() {
-		return regExpLayerEClass.getEOperations().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getLayer() {
-		return layerEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getColor() {
-		return colorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getColorInstance() {
-		return colorInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getColorInstance_Value() {
-		return (EAttribute)colorInstanceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getFillInstance() {
-		return fillInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getFillInstance_Transparency() {
-		return (EAttribute)fillInstanceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EReference getFillInstance_FillColor() {
-		return (EReference)fillInstanceEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getFill() {
-		return fillEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getFillPropertySetter() {
-		return fillPropertySetterEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getIsValidPropertySetter() {
-		return isValidPropertySetterEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getNullPropertySetter() {
-		return nullPropertySetterEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getLineType() {
-		return lineTypeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getLineInstance() {
-		return lineInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getLineInstance_LineColor() {
-		return (EAttribute)lineInstanceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getLineInstance_LineWith() {
-		return (EAttribute)lineInstanceEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getLinePropertySetter() {
-		return linePropertySetterEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getFontPropertySetter() {
-		return fontPropertySetterEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getFontInstance() {
-		return fontInstanceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getFontInstance_FontColor() {
-		return (EAttribute)fontInstanceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getFontInstance_FontName() {
-		return (EAttribute)fontInstanceEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getFontInstance_FontHeigh() {
-		return (EAttribute)fontInstanceEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getFontInstance_Bold() {
-		return (EAttribute)fontInstanceEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getFontType() {
-		return fontTypeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getIsVisiblePropertySetter() {
-		return isVisiblePropertySetterEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public EClass getLayerOperatorDescriptorRegistry() {
 		return layerOperatorDescriptorRegistryEClass;
 	}
@@ -2870,7 +1459,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayerOperatorDescriptorRegistry_Descriptors() {
 		return (EReference)layerOperatorDescriptorRegistryEClass.getEStructuralFeatures().get(0);
 	}
@@ -2880,7 +1468,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayerOperatorDescriptorRegistry_PropertyOperators() {
 		return (EReference)layerOperatorDescriptorRegistryEClass.getEStructuralFeatures().get(1);
 	}
@@ -2890,7 +1477,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EAttribute getLayerOperatorDescriptorRegistry_PropertyCollectionSize() {
 		return (EAttribute)layerOperatorDescriptorRegistryEClass.getEStructuralFeatures().get(2);
 	}
@@ -2900,7 +1486,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getLayerOperatorDescriptorRegistry_DefaultOperator() {
 		return (EReference)layerOperatorDescriptorRegistryEClass.getEStructuralFeatures().get(3);
 	}
@@ -2910,7 +1495,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerOperatorDescriptorRegistry__AddLayerOperatorDescriptor__LayerOperatorDescriptor() {
 		return layerOperatorDescriptorRegistryEClass.getEOperations().get(0);
 	}
@@ -2920,7 +1504,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerOperatorDescriptorRegistry__GetLayerOperatorDescriptor__String() {
 		return layerOperatorDescriptorRegistryEClass.getEOperations().get(1);
 	}
@@ -2930,7 +1513,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerOperatorDescriptorRegistry__AddPropertyOperator__PropertyOperator() {
 		return layerOperatorDescriptorRegistryEClass.getEOperations().get(2);
 	}
@@ -2940,7 +1522,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerOperatorDescriptorRegistry__GetPropertyOperator__String() {
 		return layerOperatorDescriptorRegistryEClass.getEOperations().get(3);
 	}
@@ -2950,7 +1531,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerOperatorDescriptorRegistry__AttachOperatorToDescriptor__Property_String_String() {
 		return layerOperatorDescriptorRegistryEClass.getEOperations().get(4);
 	}
@@ -2960,7 +1540,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EOperation getLayerOperatorDescriptorRegistry__CreateLayerOperator__String() {
 		return layerOperatorDescriptorRegistryEClass.getEOperations().get(5);
 	}
@@ -2970,7 +1549,537 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
+	public EClass getLayerOperatorDescriptor() {
+		return layerOperatorDescriptorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLayerOperatorDescriptor_PropertyOperators() {
+		return (EReference)layerOperatorDescriptorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLayerOperatorDescriptor_Name() {
+		return (EAttribute)layerOperatorDescriptorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getLayerOperatorDescriptor__GetPropertyOperator__Property() {
+		return layerOperatorDescriptorEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getLayerOperatorDescriptor__SetPropertyOperator__Property_PropertyOperator() {
+		return layerOperatorDescriptorEClass.getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getLayerOperatorDescriptor__CreateLayerOperator() {
+		return layerOperatorDescriptorEClass.getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getLayerOperatorDescriptor__SetPropertyCollectionSize__int_PropertyOperator() {
+		return layerOperatorDescriptorEClass.getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyOperator() {
+		return propertyOperatorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyOperator_Name() {
+		return (EAttribute)propertyOperatorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyOperator_Classname() {
+		return (EAttribute)propertyOperatorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropertyOperator_OperatorInstance() {
+		return (EReference)propertyOperatorEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyOperator_ClassBundleID() {
+		return (EAttribute)propertyOperatorEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getPropertyOperator__GetComputePropertyValueCommand__List() {
+		return propertyOperatorEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getPropertyOperator__ResetOperatorInstance() {
+		return propertyOperatorEClass.getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getLayerOperator() {
+		return layerOperatorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLayerOperator_Layers() {
+		return (EReference)layerOperatorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getLayerOperator_LayerOperatorDescriptorName() {
+		return (EAttribute)layerOperatorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLayerOperator_LayerOperatorDescriptor() {
+		return (EReference)layerOperatorEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getLayerOperator__IsDescriptorSet() {
+		return layerOperatorEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getLayerOperator__ResetDescriptor() {
+		return layerOperatorEClass.getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getLayersContainer() {
+		return layersContainerEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getLayersContainer__AddLayer__LayerExpression() {
+		return layersContainerEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getAbstractLayer() {
+		return abstractLayerEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAbstractLayer_PropertyValues() {
+		return (EReference)abstractLayerEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAbstractLayer_PropertyValueMap() {
+		return (EReference)abstractLayerEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAbstractLayer_LayerDescriptor() {
+		return (EReference)abstractLayerEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAbstractLayer_Views() {
+		return (EReference)abstractLayerEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getAbstractLayer_AttachedProperties() {
+		return (EReference)abstractLayerEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getAbstractLayer__AddPropertyInstance__Property() {
+		return abstractLayerEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getAbstractLayer__RemovePropertyInstance__Property() {
+		return abstractLayerEClass.getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getAbstractLayer__GetPropertyInstance__Property() {
+		return abstractLayerEClass.getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getAbstractLayer__GetPropertyInstance__String() {
+		return abstractLayerEClass.getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStringToTypeInstanceMap() {
+		return stringToTypeInstanceMapEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStringToTypeInstanceMap_Key() {
+		return (EAttribute)stringToTypeInstanceMapEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getStringToTypeInstanceMap_Value() {
+		return (EReference)stringToTypeInstanceMapEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getFolder() {
+		return folderEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getFolder_Elements() {
+		return (EReference)folderEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getFolder_Name() {
+		return (EAttribute)folderEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getMetamodel() {
+		return metamodelEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMetamodel_Name() {
+		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMetamodel_Description() {
+		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMetamodel_Nsuri() {
+		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMetamodel_PluginID() {
+		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMetamodel_EPackageInstanceName() {
+		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getMetamodel_IsTypeValid() {
+		return (EAttribute)metamodelEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getMetamodel__GetEPackage() {
+		return metamodelEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTopLayerOperator() {
+		return topLayerOperatorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStackedLayerOperator() {
+		return stackedLayerOperatorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPropertyIndex() {
+		return propertyIndexEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPropertyIndex_Property() {
+		return (EReference)propertyIndexEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getPropertyIndex_Index() {
+		return (EAttribute)propertyIndexEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getStringToPropertyIndexMap() {
+		return stringToPropertyIndexMapEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getStringToPropertyIndexMap_Value() {
+		return (EReference)stringToPropertyIndexMapEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getStringToPropertyIndexMap_Key() {
+		return (EAttribute)stringToPropertyIndexMapEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSimpleLayerDescriptor() {
+		return simpleLayerDescriptorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getNullInstance() {
+		return nullInstanceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getNullInstance__GetInstance() {
+		return nullInstanceEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getLayer() {
+		return layerEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getNullPropertySetter() {
+		return nullPropertySetterEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getTopLayerOperatorDescriptor() {
 		return topLayerOperatorDescriptorEClass;
 	}
@@ -2980,7 +2089,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getStackedLayerOperatorDescriptor() {
 		return stackedLayerOperatorDescriptorEClass;
 	}
@@ -2990,87 +2098,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EClass getCustomPropertyOperator() {
-		return customPropertyOperatorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getCustomPropertyOperator_Classname() {
-		return (EAttribute)customPropertyOperatorEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getCustomPropertyOperator_OperatorInstance() {
-		return (EAttribute)customPropertyOperatorEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getCustomPropertyOperator_ClassBundleID() {
-		return (EAttribute)customPropertyOperatorEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EOperation getCustomPropertyOperator__ResetOperatorInstance() {
-		return customPropertyOperatorEClass.getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getAndStackedLayerOperatorDescriptor() {
-		return andStackedLayerOperatorDescriptorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getOrStackedLayerOperatorDescriptor() {
-		return orStackedLayerOperatorDescriptorEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EClass getIsAbstractUmlSetter() {
-		return isAbstractUmlSetterEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public EClass getAllViewsDerivedLayer() {
 		return allViewsDerivedLayerEClass;
 	}
@@ -3080,7 +2107,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getCSSPropertySetter() {
 		return cssPropertySetterEClass;
 	}
@@ -3090,7 +2116,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getCSSType() {
 		return cssTypeEClass;
 	}
@@ -3100,7 +2125,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EClass getCSSInstance() {
 		return cssInstanceEClass;
 	}
@@ -3110,7 +2134,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EReference getCSSInstance_Stylesheet() {
 		return (EReference)cssInstanceEClass.getEStructuralFeatures().get(0);
 	}
@@ -3174,7 +2197,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EEnum getLayerState() {
 		return layerStateEEnum;
 	}
@@ -3184,7 +2206,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EEnum getEventLevel() {
 		return eventLevelEEnum;
 	}
@@ -3194,7 +2215,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EDataType getString() {
 		return stringEDataType;
 	}
@@ -3204,37 +2224,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EDataType getboolean() {
-		return booleanEDataType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EDataType getEPackage() {
-		return ePackageEDataType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EDataType getBadStateException() {
-		return badStateExceptionEDataType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public EDataType getLayersException() {
 		return layersExceptionEDataType;
 	}
@@ -3244,27 +2233,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EDataType getNotFoundException() {
-		return notFoundExceptionEDataType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EDataType getComputePropertyValueCommand() {
-		return computePropertyValueCommandEDataType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public EDataType getint() {
 		return intEDataType;
 	}
@@ -3274,7 +2242,51 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
+	public EDataType getBadStateException() {
+		return badStateExceptionEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getNotFoundException() {
+		return notFoundExceptionEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getComputePropertyValueCommand() {
+		return computePropertyValueCommandEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getboolean() {
+		return booleanEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EDataType getEPackage() {
+		return ePackageEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EDataType getObject() {
 		return objectEDataType;
 	}
@@ -3284,17 +2296,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EDataType getCustomPropertyOpertorInstance() {
-		return customPropertyOpertorInstanceEDataType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public LayersFactory getLayersFactory() {
 		return (LayersFactory)getEFactoryInstance();
 	}
@@ -3328,8 +2329,8 @@
 		createEReference(layersStackEClass, LAYERS_STACK__DIAGRAM);
 		createEAttribute(layersStackEClass, LAYERS_STACK__STATE);
 		createEOperation(layersStackEClass, LAYERS_STACK___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY);
-		createEOperation(layersStackEClass, LAYERS_STACK___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST);
-		createEOperation(layersStackEClass, LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY);
+		createEOperation(layersStackEClass, LAYERS_STACK___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST);
+		createEOperation(layersStackEClass, LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY);
 		createEOperation(layersStackEClass, LAYERS_STACK___START_AFTER_CREATION);
 		createEOperation(layersStackEClass, LAYERS_STACK___ATTACH_LAYERS);
 		createEOperation(layersStackEClass, LAYERS_STACK___ATTACH);
@@ -3346,8 +2347,8 @@
 		createEReference(layerExpressionEClass, LAYER_EXPRESSION__OWNING_LAYERS_STACK);
 		createEAttribute(layerExpressionEClass, LAYER_EXPRESSION__STATE);
 		createEOperation(layerExpressionEClass, LAYER_EXPRESSION___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY);
-		createEOperation(layerExpressionEClass, LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY);
-		createEOperation(layerExpressionEClass, LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST);
+		createEOperation(layerExpressionEClass, LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY);
+		createEOperation(layerExpressionEClass, LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST);
 		createEOperation(layerExpressionEClass, LAYER_EXPRESSION___ATTACH_TO_LAYERS_STACK__LAYERSSTACK);
 		createEOperation(layerExpressionEClass, LAYER_EXPRESSION___GET_LAYERS_STACK);
 		createEOperation(layerExpressionEClass, LAYER_EXPRESSION___ENTER_ATTACHED_STATE);
@@ -3393,20 +2394,10 @@
 		createEOperation(propertyEClass, PROPERTY___CREATE_INSTANCE);
 
 		typeEClass = createEClass(TYPE);
-		createEReference(typeEClass, TYPE__METAMODEL);
 		createEAttribute(typeEClass, TYPE__NAME);
 		createEAttribute(typeEClass, TYPE__DESCRIPTION);
 		createEOperation(typeEClass, TYPE___CREATE_INSTANCE);
 
-		metamodelEClass = createEClass(METAMODEL);
-		createEAttribute(metamodelEClass, METAMODEL__NAME);
-		createEAttribute(metamodelEClass, METAMODEL__DESCRIPTION);
-		createEAttribute(metamodelEClass, METAMODEL__NSURI);
-		createEAttribute(metamodelEClass, METAMODEL__PLUGIN_ID);
-		createEAttribute(metamodelEClass, METAMODEL__EPACKAGE_INSTANCE_NAME);
-		createEAttribute(metamodelEClass, METAMODEL__IS_TYPE_VALID);
-		createEOperation(metamodelEClass, METAMODEL___GET_EPACKAGE);
-
 		typeInstanceEClass = createEClass(TYPE_INSTANCE);
 		createEOperation(typeInstanceEClass, TYPE_INSTANCE___SET_VALUE_FROM_STRING__STRING);
 		createEOperation(typeInstanceEClass, TYPE_INSTANCE___SET_VALUE_FROM_INSTANCE__TYPEINSTANCE);
@@ -3465,26 +2456,26 @@
 		createEOperation(layerOperatorDescriptorEClass, LAYER_OPERATOR_DESCRIPTOR___GET_PROPERTY_OPERATOR__PROPERTY);
 		createEOperation(layerOperatorDescriptorEClass, LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_OPERATOR__PROPERTY_PROPERTYOPERATOR);
 		createEOperation(layerOperatorDescriptorEClass, LAYER_OPERATOR_DESCRIPTOR___CREATE_LAYER_OPERATOR);
-		createEOperation(layerOperatorDescriptorEClass, LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_DEFAULTPROPERTYOPERATOR);
+		createEOperation(layerOperatorDescriptorEClass, LAYER_OPERATOR_DESCRIPTOR___SET_PROPERTY_COLLECTION_SIZE__INT_PROPERTYOPERATOR);
 
 		propertyOperatorEClass = createEClass(PROPERTY_OPERATOR);
 		createEAttribute(propertyOperatorEClass, PROPERTY_OPERATOR__NAME);
-		createEOperation(propertyOperatorEClass, PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST);
-
-		abstractLayerOperatorEClass = createEClass(ABSTRACT_LAYER_OPERATOR);
-		createEReference(abstractLayerOperatorEClass, ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR);
-		createEAttribute(abstractLayerOperatorEClass, ABSTRACT_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME);
-		createEOperation(abstractLayerOperatorEClass, ABSTRACT_LAYER_OPERATOR___IS_DESCRIPTOR_SET);
-		createEOperation(abstractLayerOperatorEClass, ABSTRACT_LAYER_OPERATOR___RESET_DESCRIPTOR);
+		createEAttribute(propertyOperatorEClass, PROPERTY_OPERATOR__CLASSNAME);
+		createEReference(propertyOperatorEClass, PROPERTY_OPERATOR__OPERATOR_INSTANCE);
+		createEAttribute(propertyOperatorEClass, PROPERTY_OPERATOR__CLASS_BUNDLE_ID);
+		createEOperation(propertyOperatorEClass, PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__LIST);
+		createEOperation(propertyOperatorEClass, PROPERTY_OPERATOR___RESET_OPERATOR_INSTANCE);
 
 		layerOperatorEClass = createEClass(LAYER_OPERATOR);
 		createEReference(layerOperatorEClass, LAYER_OPERATOR__LAYERS);
+		createEAttribute(layerOperatorEClass, LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME);
+		createEReference(layerOperatorEClass, LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR);
+		createEOperation(layerOperatorEClass, LAYER_OPERATOR___IS_DESCRIPTOR_SET);
+		createEOperation(layerOperatorEClass, LAYER_OPERATOR___RESET_DESCRIPTOR);
 
 		layersContainerEClass = createEClass(LAYERS_CONTAINER);
 		createEOperation(layersContainerEClass, LAYERS_CONTAINER___ADD_LAYER__LAYEREXPRESSION);
 
-		defaultPropertyOperatorEClass = createEClass(DEFAULT_PROPERTY_OPERATOR);
-
 		abstractLayerEClass = createEClass(ABSTRACT_LAYER);
 		createEReference(abstractLayerEClass, ABSTRACT_LAYER__PROPERTY_VALUES);
 		createEReference(abstractLayerEClass, ABSTRACT_LAYER__PROPERTY_VALUE_MAP);
@@ -3504,30 +2495,19 @@
 		createEReference(folderEClass, FOLDER__ELEMENTS);
 		createEAttribute(folderEClass, FOLDER__NAME);
 
-		intInstanceEClass = createEClass(INT_INSTANCE);
-		createEAttribute(intInstanceEClass, INT_INSTANCE__VALUE);
-
-		booleanInstanceEClass = createEClass(BOOLEAN_INSTANCE);
-		createEAttribute(booleanInstanceEClass, BOOLEAN_INSTANCE__VALUE);
-
-		stringInstanceEClass = createEClass(STRING_INSTANCE);
-		createEAttribute(stringInstanceEClass, STRING_INSTANCE__VALUE);
-
-		intTypeEClass = createEClass(INT_TYPE);
-
-		booleanTypeEClass = createEClass(BOOLEAN_TYPE);
-
-		stringTypeEClass = createEClass(STRING_TYPE);
-
-		customTypeEClass = createEClass(CUSTOM_TYPE);
-		createEAttribute(customTypeEClass, CUSTOM_TYPE__CLASSIFIER);
+		metamodelEClass = createEClass(METAMODEL);
+		createEAttribute(metamodelEClass, METAMODEL__NAME);
+		createEAttribute(metamodelEClass, METAMODEL__DESCRIPTION);
+		createEAttribute(metamodelEClass, METAMODEL__NSURI);
+		createEAttribute(metamodelEClass, METAMODEL__PLUGIN_ID);
+		createEAttribute(metamodelEClass, METAMODEL__EPACKAGE_INSTANCE_NAME);
+		createEAttribute(metamodelEClass, METAMODEL__IS_TYPE_VALID);
+		createEOperation(metamodelEClass, METAMODEL___GET_EPACKAGE);
 
 		topLayerOperatorEClass = createEClass(TOP_LAYER_OPERATOR);
 
 		stackedLayerOperatorEClass = createEClass(STACKED_LAYER_OPERATOR);
 
-		customLayerOperatorEClass = createEClass(CUSTOM_LAYER_OPERATOR);
-
 		propertyIndexEClass = createEClass(PROPERTY_INDEX);
 		createEReference(propertyIndexEClass, PROPERTY_INDEX__PROPERTY);
 		createEAttribute(propertyIndexEClass, PROPERTY_INDEX__INDEX);
@@ -3538,82 +2518,17 @@
 
 		simpleLayerDescriptorEClass = createEClass(SIMPLE_LAYER_DESCRIPTOR);
 
-		regExpLayerDescriptorEClass = createEClass(REG_EXP_LAYER_DESCRIPTOR);
-
 		nullInstanceEClass = createEClass(NULL_INSTANCE);
 		createEOperation(nullInstanceEClass, NULL_INSTANCE___GET_INSTANCE);
 
-		regExpLayerEClass = createEClass(REG_EXP_LAYER);
-		createEAttribute(regExpLayerEClass, REG_EXP_LAYER__EXPR);
-		createEAttribute(regExpLayerEClass, REG_EXP_LAYER__LANGUAGE);
-		createEAttribute(regExpLayerEClass, REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT);
-		createEAttribute(regExpLayerEClass, REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL);
-		createEAttribute(regExpLayerEClass, REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT);
-		createEAttribute(regExpLayerEClass, REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL);
-		createEAttribute(regExpLayerEClass, REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE);
-		createEOperation(regExpLayerEClass, REG_EXP_LAYER___ACTIVATE__ABSTRACTLAYEROPERATOR);
-		createEOperation(regExpLayerEClass, REG_EXP_LAYER___DEACTIVATE__ABSTRACTLAYEROPERATOR);
-		createEOperation(regExpLayerEClass, REG_EXP_LAYER___IS_DERIVED_VIEW__VIEW);
-		createEOperation(regExpLayerEClass, REG_EXP_LAYER___ATTACH_DERIVED_VIEW__VIEW);
-		createEOperation(regExpLayerEClass, REG_EXP_LAYER___ATTACH_DERIVED_VIEWS__ELIST);
-		createEOperation(regExpLayerEClass, REG_EXP_LAYER___ATTACH_DERIVED_VIEWS);
-		createEOperation(regExpLayerEClass, REG_EXP_LAYER___LOOKUP_DERIVED_VIEWS__ELIST);
-
 		layerEClass = createEClass(LAYER);
 
-		colorEClass = createEClass(COLOR);
-
-		colorInstanceEClass = createEClass(COLOR_INSTANCE);
-		createEAttribute(colorInstanceEClass, COLOR_INSTANCE__VALUE);
-
-		fillInstanceEClass = createEClass(FILL_INSTANCE);
-		createEAttribute(fillInstanceEClass, FILL_INSTANCE__TRANSPARENCY);
-		createEReference(fillInstanceEClass, FILL_INSTANCE__FILL_COLOR);
-
-		fillEClass = createEClass(FILL);
-
-		fillPropertySetterEClass = createEClass(FILL_PROPERTY_SETTER);
-
-		isValidPropertySetterEClass = createEClass(IS_VALID_PROPERTY_SETTER);
-
 		nullPropertySetterEClass = createEClass(NULL_PROPERTY_SETTER);
 
-		lineTypeEClass = createEClass(LINE_TYPE);
-
-		lineInstanceEClass = createEClass(LINE_INSTANCE);
-		createEAttribute(lineInstanceEClass, LINE_INSTANCE__LINE_COLOR);
-		createEAttribute(lineInstanceEClass, LINE_INSTANCE__LINE_WITH);
-
-		linePropertySetterEClass = createEClass(LINE_PROPERTY_SETTER);
-
-		fontPropertySetterEClass = createEClass(FONT_PROPERTY_SETTER);
-
-		fontInstanceEClass = createEClass(FONT_INSTANCE);
-		createEAttribute(fontInstanceEClass, FONT_INSTANCE__FONT_COLOR);
-		createEAttribute(fontInstanceEClass, FONT_INSTANCE__FONT_NAME);
-		createEAttribute(fontInstanceEClass, FONT_INSTANCE__FONT_HEIGH);
-		createEAttribute(fontInstanceEClass, FONT_INSTANCE__BOLD);
-
-		fontTypeEClass = createEClass(FONT_TYPE);
-
-		isVisiblePropertySetterEClass = createEClass(IS_VISIBLE_PROPERTY_SETTER);
-
 		topLayerOperatorDescriptorEClass = createEClass(TOP_LAYER_OPERATOR_DESCRIPTOR);
 
 		stackedLayerOperatorDescriptorEClass = createEClass(STACKED_LAYER_OPERATOR_DESCRIPTOR);
 
-		customPropertyOperatorEClass = createEClass(CUSTOM_PROPERTY_OPERATOR);
-		createEAttribute(customPropertyOperatorEClass, CUSTOM_PROPERTY_OPERATOR__CLASSNAME);
-		createEAttribute(customPropertyOperatorEClass, CUSTOM_PROPERTY_OPERATOR__OPERATOR_INSTANCE);
-		createEAttribute(customPropertyOperatorEClass, CUSTOM_PROPERTY_OPERATOR__CLASS_BUNDLE_ID);
-		createEOperation(customPropertyOperatorEClass, CUSTOM_PROPERTY_OPERATOR___RESET_OPERATOR_INSTANCE);
-
-		andStackedLayerOperatorDescriptorEClass = createEClass(AND_STACKED_LAYER_OPERATOR_DESCRIPTOR);
-
-		orStackedLayerOperatorDescriptorEClass = createEClass(OR_STACKED_LAYER_OPERATOR_DESCRIPTOR);
-
-		isAbstractUmlSetterEClass = createEClass(IS_ABSTRACT_UML_SETTER);
-
 		allViewsDerivedLayerEClass = createEClass(ALL_VIEWS_DERIVED_LAYER);
 
 		cssPropertySetterEClass = createEClass(CSS_PROPERTY_SETTER);
@@ -3638,15 +2553,14 @@
 
 		// Create data types
 		stringEDataType = createEDataType(STRING);
-		booleanEDataType = createEDataType(BOOLEAN);
-		ePackageEDataType = createEDataType(EPACKAGE);
 		layersExceptionEDataType = createEDataType(LAYERS_EXCEPTION);
 		intEDataType = createEDataType(INT);
 		badStateExceptionEDataType = createEDataType(BAD_STATE_EXCEPTION);
 		notFoundExceptionEDataType = createEDataType(NOT_FOUND_EXCEPTION);
 		computePropertyValueCommandEDataType = createEDataType(COMPUTE_PROPERTY_VALUE_COMMAND);
+		booleanEDataType = createEDataType(BOOLEAN);
+		ePackageEDataType = createEDataType(EPACKAGE);
 		objectEDataType = createEDataType(OBJECT);
-		customPropertyOpertorInstanceEDataType = createEDataType(CUSTOM_PROPERTY_OPERTOR_INSTANCE);
 	}
 
 	/**
@@ -3687,49 +2601,20 @@
 		layersStackApplicationEClass.getESuperTypes().add(this.getFolderElement());
 		propertyEClass.getESuperTypes().add(this.getFolderElement());
 		typeEClass.getESuperTypes().add(this.getFolderElement());
-		metamodelEClass.getESuperTypes().add(this.getFolderElement());
 		typeInstanceEClass.getESuperTypes().add(this.getComputePropertyValueCommandItf());
-		abstractLayerOperatorEClass.getESuperTypes().add(this.getLayerOperator());
 		layerOperatorEClass.getESuperTypes().add(this.getLayerExpression());
 		layerOperatorEClass.getESuperTypes().add(this.getLayersContainer());
-		defaultPropertyOperatorEClass.getESuperTypes().add(this.getPropertyOperator());
 		abstractLayerEClass.getESuperTypes().add(this.getLayerExpression());
 		folderEClass.getESuperTypes().add(this.getFolderElement());
-		intInstanceEClass.getESuperTypes().add(this.getTypeInstance());
-		booleanInstanceEClass.getESuperTypes().add(this.getTypeInstance());
-		stringInstanceEClass.getESuperTypes().add(this.getTypeInstance());
-		intTypeEClass.getESuperTypes().add(this.getType());
-		booleanTypeEClass.getESuperTypes().add(this.getType());
-		stringTypeEClass.getESuperTypes().add(this.getType());
-		customTypeEClass.getESuperTypes().add(this.getType());
-		topLayerOperatorEClass.getESuperTypes().add(this.getAbstractLayerOperator());
-		stackedLayerOperatorEClass.getESuperTypes().add(this.getAbstractLayerOperator());
-		customLayerOperatorEClass.getESuperTypes().add(this.getLayerOperator());
+		metamodelEClass.getESuperTypes().add(this.getFolderElement());
+		topLayerOperatorEClass.getESuperTypes().add(this.getLayerOperator());
+		stackedLayerOperatorEClass.getESuperTypes().add(this.getLayerOperator());
 		simpleLayerDescriptorEClass.getESuperTypes().add(this.getLayerDescriptor());
-		regExpLayerDescriptorEClass.getESuperTypes().add(this.getLayerDescriptor());
 		nullInstanceEClass.getESuperTypes().add(this.getTypeInstance());
-		regExpLayerEClass.getESuperTypes().add(this.getAbstractLayer());
 		layerEClass.getESuperTypes().add(this.getAbstractLayer());
-		colorEClass.getESuperTypes().add(this.getType());
-		colorInstanceEClass.getESuperTypes().add(this.getTypeInstance());
-		fillInstanceEClass.getESuperTypes().add(this.getTypeInstance());
-		fillEClass.getESuperTypes().add(this.getType());
-		fillPropertySetterEClass.getESuperTypes().add(this.getPropertySetter());
-		isValidPropertySetterEClass.getESuperTypes().add(this.getPropertySetter());
 		nullPropertySetterEClass.getESuperTypes().add(this.getPropertySetter());
-		lineTypeEClass.getESuperTypes().add(this.getType());
-		lineInstanceEClass.getESuperTypes().add(this.getTypeInstance());
-		linePropertySetterEClass.getESuperTypes().add(this.getPropertySetter());
-		fontPropertySetterEClass.getESuperTypes().add(this.getPropertySetter());
-		fontInstanceEClass.getESuperTypes().add(this.getTypeInstance());
-		fontTypeEClass.getESuperTypes().add(this.getType());
-		isVisiblePropertySetterEClass.getESuperTypes().add(this.getPropertySetter());
 		topLayerOperatorDescriptorEClass.getESuperTypes().add(this.getLayerOperatorDescriptor());
 		stackedLayerOperatorDescriptorEClass.getESuperTypes().add(this.getLayerOperatorDescriptor());
-		customPropertyOperatorEClass.getESuperTypes().add(this.getPropertyOperator());
-		andStackedLayerOperatorDescriptorEClass.getESuperTypes().add(this.getStackedLayerOperatorDescriptor());
-		orStackedLayerOperatorDescriptorEClass.getESuperTypes().add(this.getStackedLayerOperatorDescriptor());
-		isAbstractUmlSetterEClass.getESuperTypes().add(this.getPropertySetter());
 		allViewsDerivedLayerEClass.getESuperTypes().add(this.getAbstractLayer());
 		cssPropertySetterEClass.getESuperTypes().add(this.getPropertySetter());
 		cssTypeEClass.getESuperTypes().add(this.getType());
@@ -3754,12 +2639,12 @@
 		addEParameter(op, this.getProperty(), "property", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEException(op, this.getLayersException());
 
-		op = initEOperation(getLayersStack__GetPropertiesComputePropertyValueCommand__View_EList(), this.getComputePropertyValueCommand(), "getPropertiesComputePropertyValueCommand", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
+		op = initEOperation(getLayersStack__GetPropertiesComputePropertyValueCommand__View_List(), this.getComputePropertyValueCommand(), "getPropertiesComputePropertyValueCommand", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, theNotationPackage.getView(), "view", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, this.getProperty(), "property", 1, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 		addEException(op, this.getLayersException());
 
-		op = initEOperation(getLayersStack__GetViewsComputePropertyValueCommand__EList_Property(), this.getComputePropertyValueCommand(), "getViewsComputePropertyValueCommand", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
+		op = initEOperation(getLayersStack__GetViewsComputePropertyValueCommand__List_Property(), this.getComputePropertyValueCommand(), "getViewsComputePropertyValueCommand", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, theNotationPackage.getView(), "view", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, this.getProperty(), "property", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEException(op, this.getLayersException());
@@ -3794,12 +2679,12 @@
 		addEParameter(op, this.getProperty(), "property", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEException(op, this.getLayersException());
 
-		op = initEOperation(getLayerExpression__GetViewsComputePropertyValueCommand__EList_Property(), this.getComputePropertyValueCommand(), "getViewsComputePropertyValueCommand", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
+		op = initEOperation(getLayerExpression__GetViewsComputePropertyValueCommand__List_Property(), this.getComputePropertyValueCommand(), "getViewsComputePropertyValueCommand", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, theNotationPackage.getView(), "view", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, this.getProperty(), "property", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEException(op, this.getLayersException());
 
-		op = initEOperation(getLayerExpression__GetPropertiesComputePropertyValueCommand__View_EList(), this.getComputePropertyValueCommand(), "getPropertiesComputePropertyValueCommand", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
+		op = initEOperation(getLayerExpression__GetPropertiesComputePropertyValueCommand__View_List(), this.getComputePropertyValueCommand(), "getPropertiesComputePropertyValueCommand", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, theNotationPackage.getView(), "view", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, this.getProperty(), "property", 1, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 		addEException(op, this.getLayersException());
@@ -3880,22 +2765,11 @@
 		addEException(op, this.getBadStateException());
 
 		initEClass(typeEClass, Type.class, "Type", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(getType_Metamodel(), this.getMetamodel(), null, "metamodel", null, 1, 1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 		initEAttribute(getType_Name(), this.getString(), "name", null, 1, 1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 		initEAttribute(getType_Description(), this.getString(), "description", null, 1, 1, Type.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 
 		initEOperation(getType__CreateInstance(), this.getTypeInstance(), "createInstance", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 
-		initEClass(metamodelEClass, Metamodel.class, "Metamodel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getMetamodel_Name(), this.getString(), "name", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getMetamodel_Description(), this.getString(), "description", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getMetamodel_Nsuri(), this.getString(), "nsuri", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getMetamodel_PluginID(), this.getString(), "pluginID", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getMetamodel_EPackageInstanceName(), this.getString(), "ePackageInstanceName", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getMetamodel_IsTypeValid(), this.getboolean(), "isTypeValid", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-
-		initEOperation(getMetamodel__GetEPackage(), this.getEPackage(), "getEPackage", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-
 		initEClass(typeInstanceEClass, TypeInstance.class, "TypeInstance", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
 		op = initEOperation(getTypeInstance__SetValueFromString__String(), null, "setValueFromString", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
@@ -3957,7 +2831,7 @@
 		initEReference(getLayerOperatorDescriptorRegistry_Descriptors(), this.getLayerOperatorDescriptor(), null, "descriptors", null, 0, -1, LayerOperatorDescriptorRegistry.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 		initEReference(getLayerOperatorDescriptorRegistry_PropertyOperators(), this.getPropertyOperator(), null, "propertyOperators", null, 0, -1, LayerOperatorDescriptorRegistry.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 		initEAttribute(getLayerOperatorDescriptorRegistry_PropertyCollectionSize(), this.getint(), "propertyCollectionSize", null, 1, 1, LayerOperatorDescriptorRegistry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEReference(getLayerOperatorDescriptorRegistry_DefaultOperator(), this.getDefaultPropertyOperator(), null, "defaultOperator", null, 1, 1, LayerOperatorDescriptorRegistry.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getLayerOperatorDescriptorRegistry_DefaultOperator(), this.getPropertyOperator(), null, "defaultOperator", null, 1, 1, LayerOperatorDescriptorRegistry.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 
 		op = initEOperation(getLayerOperatorDescriptorRegistry__AddLayerOperatorDescriptor__LayerOperatorDescriptor(), null, "addLayerOperatorDescriptor", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, this.getLayerOperatorDescriptor(), "descriptor", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
@@ -3979,7 +2853,7 @@
 		addEParameter(op, this.getString(), "layerDescriptorName", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEException(op, this.getNotFoundException());
 
-		op = initEOperation(getLayerOperatorDescriptorRegistry__CreateLayerOperator__String(), this.getAbstractLayerOperator(), "createLayerOperator", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		op = initEOperation(getLayerOperatorDescriptorRegistry__CreateLayerOperator__String(), this.getLayerOperator(), "createLayerOperator", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, this.getString(), "layerOperatorID", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEException(op, this.getLayersException());
 
@@ -3995,37 +2869,39 @@
 		addEParameter(op, this.getProperty(), "property", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, this.getPropertyOperator(), "operator", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 
-		initEOperation(getLayerOperatorDescriptor__CreateLayerOperator(), this.getAbstractLayerOperator(), "createLayerOperator", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		initEOperation(getLayerOperatorDescriptor__CreateLayerOperator(), this.getLayerOperator(), "createLayerOperator", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 
-		op = initEOperation(getLayerOperatorDescriptor__SetPropertyCollectionSize__int_DefaultPropertyOperator(), null, "setPropertyCollectionSize", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		op = initEOperation(getLayerOperatorDescriptor__SetPropertyCollectionSize__int_PropertyOperator(), null, "setPropertyCollectionSize", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, this.getint(), "size", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEParameter(op, this.getDefaultPropertyOperator(), "defaultPropertyOperator", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEParameter(op, this.getPropertyOperator(), "defaultPropertyOperator", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 
 		initEClass(propertyOperatorEClass, PropertyOperator.class, "PropertyOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEAttribute(getPropertyOperator_Name(), this.getString(), "name", null, 1, 1, PropertyOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getPropertyOperator_Classname(), this.getString(), "classname", null, 1, 1, PropertyOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getPropertyOperator_OperatorInstance(), this.getPropertyOperator(), null, "operatorInstance", null, 1, 1, PropertyOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getPropertyOperator_ClassBundleID(), this.getString(), "classBundleID", null, 1, 1, PropertyOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 
-		op = initEOperation(getPropertyOperator__GetComputePropertyValueCommand__EList(), this.getComputePropertyValueCommand(), "getComputePropertyValueCommand", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		op = initEOperation(getPropertyOperator__GetComputePropertyValueCommand__List(), this.getComputePropertyValueCommand(), "getComputePropertyValueCommand", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, this.getComputePropertyValueCommand(), "property", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
 		addEException(op, this.getLayersException());
 
-		initEClass(abstractLayerOperatorEClass, AbstractLayerOperator.class, "AbstractLayerOperator", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEReference(getAbstractLayerOperator_LayerOperatorDescriptor(), this.getLayerOperatorDescriptor(), null, "layerOperatorDescriptor", null, 1, 1, AbstractLayerOperator.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getAbstractLayerOperator_LayerOperatorDescriptorName(), this.getString(), "layerOperatorDescriptorName", null, 1, 1, AbstractLayerOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-
-		initEOperation(getAbstractLayerOperator__IsDescriptorSet(), this.getboolean(), "isDescriptorSet", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-
-		initEOperation(getAbstractLayerOperator__ResetDescriptor(), null, "resetDescriptor", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		op = initEOperation(getPropertyOperator__ResetOperatorInstance(), null, "resetOperatorInstance", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+		addEException(op, this.getLayersException());
 
 		initEClass(layerOperatorEClass, LayerOperator.class, "LayerOperator", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEReference(getLayerOperator_Layers(), this.getLayerExpression(), null, "layers", null, 0, -1, LayerOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getLayerOperator_LayerOperatorDescriptorName(), this.getString(), "layerOperatorDescriptorName", null, 1, 1, LayerOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getLayerOperator_LayerOperatorDescriptor(), this.getLayerOperatorDescriptor(), null, "layerOperatorDescriptor", null, 1, 1, LayerOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getLayerOperator__IsDescriptorSet(), this.getboolean(), "isDescriptorSet", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+		initEOperation(getLayerOperator__ResetDescriptor(), null, "resetDescriptor", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 
 		initEClass(layersContainerEClass, LayersContainer.class, "LayersContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
 		op = initEOperation(getLayersContainer__AddLayer__LayerExpression(), null, "addLayer", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, this.getLayerExpression(), "layer", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 
-		initEClass(defaultPropertyOperatorEClass, DefaultPropertyOperator.class, "DefaultPropertyOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
 		initEClass(abstractLayerEClass, AbstractLayer.class, "AbstractLayer", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEReference(getAbstractLayer_PropertyValues(), this.getTypeInstance(), null, "propertyValues", null, 0, -1, AbstractLayer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 		initEReference(getAbstractLayer_PropertyValueMap(), this.getStringToTypeInstanceMap(), null, "propertyValueMap", null, 0, -1, AbstractLayer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
@@ -4056,30 +2932,20 @@
 		initEReference(getFolder_Elements(), this.getFolderElement(), null, "elements", null, 0, -1, Folder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 		initEAttribute(getFolder_Name(), this.getString(), "name", null, 1, 1, Folder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 
-		initEClass(intInstanceEClass, IntInstance.class, "IntInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getIntInstance_Value(), this.getint(), "value", null, 1, 1, IntInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEClass(metamodelEClass, Metamodel.class, "Metamodel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getMetamodel_Name(), this.getString(), "name", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getMetamodel_Description(), this.getString(), "description", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getMetamodel_Nsuri(), this.getString(), "nsuri", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getMetamodel_PluginID(), this.getString(), "pluginID", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getMetamodel_EPackageInstanceName(), this.getString(), "ePackageInstanceName", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getMetamodel_IsTypeValid(), this.getboolean(), "isTypeValid", null, 1, 1, Metamodel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 
-		initEClass(booleanInstanceEClass, BooleanInstance.class, "BooleanInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getBooleanInstance_Value(), this.getboolean(), "value", null, 1, 1, BooleanInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(stringInstanceEClass, StringInstance.class, "StringInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getStringInstance_Value(), this.getString(), "value", null, 1, 1, StringInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(intTypeEClass, IntType.class, "IntType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(booleanTypeEClass, BooleanType.class, "BooleanType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(stringTypeEClass, StringType.class, "StringType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(customTypeEClass, CustomType.class, "CustomType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getCustomType_Classifier(), this.getString(), "classifier", null, 1, 1, CustomType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEOperation(getMetamodel__GetEPackage(), this.getEPackage(), "getEPackage", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 
 		initEClass(topLayerOperatorEClass, TopLayerOperator.class, "TopLayerOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
 		initEClass(stackedLayerOperatorEClass, StackedLayerOperator.class, "StackedLayerOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
-		initEClass(customLayerOperatorEClass, CustomLayerOperator.class, "CustomLayerOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
 		initEClass(propertyIndexEClass, PropertyIndex.class, "PropertyIndex", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEReference(getPropertyIndex_Property(), this.getProperty(), null, "property", null, 1, 1, PropertyIndex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 		initEAttribute(getPropertyIndex_Index(), this.getint(), "index", null, 1, 1, PropertyIndex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
@@ -4090,103 +2956,18 @@
 
 		initEClass(simpleLayerDescriptorEClass, SimpleLayerDescriptor.class, "SimpleLayerDescriptor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
-		initEClass(regExpLayerDescriptorEClass, RegExpLayerDescriptor.class, "RegExpLayerDescriptor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
 		initEClass(nullInstanceEClass, NullInstance.class, "NullInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
 		initEOperation(getNullInstance__GetInstance(), this.getNullInstance(), "getInstance", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 
-		initEClass(regExpLayerEClass, RegExpLayer.class, "RegExpLayer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getRegExpLayer_Expr(), this.getString(), "expr", null, 1, 1, RegExpLayer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getRegExpLayer_Language(), this.getString(), "language", null, 1, 1, RegExpLayer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getRegExpLayer_IsDomainChangedEventDependant(), this.getboolean(), "isDomainChangedEventDependant", null, 1, 1, RegExpLayer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getRegExpLayer_DomainChangedEventLevel(), this.getEventLevel(), "domainChangedEventLevel", null, 1, 1, RegExpLayer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getRegExpLayer_IsDiagramChangedEventDependant(), this.getboolean(), "isDiagramChangedEventDependant", null, 1, 1, RegExpLayer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getRegExpLayer_DiagramChangedEventLevel(), this.getEventLevel(), "diagramChangedEventLevel", null, 1, 1, RegExpLayer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getRegExpLayer_ExpressionContextObjectType(), this.getString(), "expressionContextObjectType", null, 1, 1, RegExpLayer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-
-		op = initEOperation(getRegExpLayer__Activate__AbstractLayerOperator(), null, "activate", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEParameter(op, this.getAbstractLayerOperator(), "newParentLayer", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-
-		op = initEOperation(getRegExpLayer__Deactivate__AbstractLayerOperator(), null, "deactivate", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEParameter(op, this.getAbstractLayerOperator(), "oldParentLayer", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-
-		op = initEOperation(getRegExpLayer__IsDerivedView__View(), this.getboolean(), "isDerivedView", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEParameter(op, theNotationPackage.getView(), "view", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEException(op, this.getLayersException());
-
-		op = initEOperation(getRegExpLayer__AttachDerivedView__View(), null, "attachDerivedView", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEParameter(op, theNotationPackage.getView(), "view", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEException(op, this.getLayersException());
-
-		op = initEOperation(getRegExpLayer__AttachDerivedViews__EList(), null, "attachDerivedViews", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEParameter(op, theNotationPackage.getView(), "views", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEException(op, this.getLayersException());
-
-		op = initEOperation(getRegExpLayer__AttachDerivedViews(), null, "attachDerivedViews", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEException(op, this.getLayersException());
-
-		op = initEOperation(getRegExpLayer__LookupDerivedViews__EList(), theNotationPackage.getView(), "lookupDerivedViews", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEParameter(op, theNotationPackage.getView(), "views", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEException(op, this.getLayersException());
-
 		initEClass(layerEClass, Layer.class, "Layer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
-		initEClass(colorEClass, Color.class, "Color", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(colorInstanceEClass, ColorInstance.class, "ColorInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getColorInstance_Value(), this.getint(), "value", null, 1, 1, ColorInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(fillInstanceEClass, FillInstance.class, "FillInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getFillInstance_Transparency(), this.getint(), "transparency", null, 1, 1, FillInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEReference(getFillInstance_FillColor(), this.getColorInstance(), null, "fillColor", null, 1, 1, FillInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(fillEClass, Fill.class, "Fill", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(fillPropertySetterEClass, FillPropertySetter.class, "FillPropertySetter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(isValidPropertySetterEClass, IsValidPropertySetter.class, "IsValidPropertySetter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
 		initEClass(nullPropertySetterEClass, NullPropertySetter.class, "NullPropertySetter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
-		initEClass(lineTypeEClass, LineType.class, "LineType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(lineInstanceEClass, LineInstance.class, "LineInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getLineInstance_LineColor(), this.getint(), "lineColor", null, 1, 1, LineInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getLineInstance_LineWith(), this.getint(), "lineWith", null, 1, 1, LineInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-
-		initEClass(linePropertySetterEClass, LinePropertySetter.class, "LinePropertySetter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(fontPropertySetterEClass, FontPropertySetter.class, "FontPropertySetter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(fontInstanceEClass, FontInstance.class, "FontInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getFontInstance_FontColor(), this.getint(), "fontColor", "15053796", 1, 1, FontInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEAttribute(getFontInstance_FontName(), this.getString(), "fontName", "Segoe UI", 1, 1, FontInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEAttribute(getFontInstance_FontHeigh(), this.getint(), "fontHeigh", "9", 1, 1, FontInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
-		initEAttribute(getFontInstance_Bold(), this.getboolean(), "bold", "true", 1, 1, FontInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
-
-		initEClass(fontTypeEClass, FontType.class, "FontType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(isVisiblePropertySetterEClass, IsVisiblePropertySetter.class, "IsVisiblePropertySetter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
 		initEClass(topLayerOperatorDescriptorEClass, TopLayerOperatorDescriptor.class, "TopLayerOperatorDescriptor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
 		initEClass(stackedLayerOperatorDescriptorEClass, StackedLayerOperatorDescriptor.class, "StackedLayerOperatorDescriptor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
-		initEClass(customPropertyOperatorEClass, CustomPropertyOperator.class, "CustomPropertyOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEAttribute(getCustomPropertyOperator_Classname(), this.getString(), "classname", null, 1, 1, CustomPropertyOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getCustomPropertyOperator_OperatorInstance(), this.getCustomPropertyOpertorInstance(), "operatorInstance", null, 1, 1, CustomPropertyOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-		initEAttribute(getCustomPropertyOperator_ClassBundleID(), this.getString(), "classBundleID", null, 1, 1, CustomPropertyOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-
-		op = initEOperation(getCustomPropertyOperator__ResetOperatorInstance(), null, "resetOperatorInstance", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
-		addEException(op, this.getLayersException());
-
-		initEClass(andStackedLayerOperatorDescriptorEClass, AndStackedLayerOperatorDescriptor.class, "AndStackedLayerOperatorDescriptor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(orStackedLayerOperatorDescriptorEClass, OrStackedLayerOperatorDescriptor.class, "OrStackedLayerOperatorDescriptor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
-		initEClass(isAbstractUmlSetterEClass, IsAbstractUmlSetter.class, "IsAbstractUmlSetter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
 		initEClass(allViewsDerivedLayerEClass, AllViewsDerivedLayer.class, "AllViewsDerivedLayer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
 		initEClass(cssPropertySetterEClass, CSSPropertySetter.class, "CSSPropertySetter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
@@ -4216,15 +2997,14 @@
 
 		// Initialize data types
 		initEDataType(stringEDataType, String.class, "String", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEDataType(booleanEDataType, boolean.class, "boolean", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEDataType(ePackageEDataType, EPackage.class, "EPackage", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEDataType(layersExceptionEDataType, LayersException.class, "LayersException", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEDataType(intEDataType, int.class, "int", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEDataType(badStateExceptionEDataType, BadStateException.class, "BadStateException", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEDataType(notFoundExceptionEDataType, NotFoundException.class, "NotFoundException", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEDataType(computePropertyValueCommandEDataType, ComputePropertyValueCommand.class, "ComputePropertyValueCommand", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEDataType(booleanEDataType, boolean.class, "boolean", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEDataType(ePackageEDataType, EPackage.class, "EPackage", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 		initEDataType(objectEDataType, Object.class, "Object", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-		initEDataType(customPropertyOpertorInstanceEDataType, CustomPropertyOperatorsInstance.class, "CustomPropertyOpertorInstance", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
 		// Create resource
 		createResource(eNS_URI);
@@ -4243,12 +3023,12 @@
 	 * @generated
 	 */
 	protected void createUMLAnnotations() {
-		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$	
+		String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
 		addAnnotation
-		  (this, 
-		   source, 
+		  (this,
+		   source,
 		   new String[] {
-			 "originalName", "Layers" //$NON-NLS-1$ //$NON-NLS-2$
+			   "originalName", "Layers" //$NON-NLS-1$ //$NON-NLS-2$
 		   });
 	}
 
@@ -4259,19 +3039,19 @@
 	 * @generated
 	 */
 	protected void createExtendedMetaDataAnnotations() {
-		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$	
+		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$
 		addAnnotation
-		  (badStateExceptionEDataType, 
-		   source, 
+		  (badStateExceptionEDataType,
+		   source,
 		   new String[] {
-			 "baseType", "LayersException" //$NON-NLS-1$ //$NON-NLS-2$
-		   });	
+			   "baseType", "LayersException" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
 		addAnnotation
-		  (notFoundExceptionEDataType, 
-		   source, 
+		  (notFoundExceptionEDataType,
+		   source,
 		   new String[] {
-			 "baseType", "LayersException" //$NON-NLS-1$ //$NON-NLS-2$
+			   "baseType", "LayersException" //$NON-NLS-1$ //$NON-NLS-2$
 		   });
 	}
 
-} // LayersPackageImpl
+} //LayersPackageImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersStackApplicationImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersStackApplicationImpl.java
index e359819..dc41196 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersStackApplicationImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersStackApplicationImpl.java
@@ -1,43 +1,49 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
+
 import java.util.Collection;
+import java.util.List;
 
 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.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
+
 import org.eclipse.gmf.runtime.notation.Diagram;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerApplicationFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptorRegistry;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptorRegistry;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerStackDescriptorRegistry;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetterRegistry;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.loaders.LayersConfigModel;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.loaders.RegistriesLoader;
 
 /**
  * <!-- begin-user-doc -->
@@ -58,8 +64,7 @@
  *
  * @generated
  */
-public class LayersStackApplicationImpl extends
-		FolderElementImpl implements LayersStackApplication {
+public class LayersStackApplicationImpl extends FolderElementImpl implements LayersStackApplication {
 	/**
 	 * The cached value of the '{@link #getLayersStacks() <em>Layers Stacks</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -79,6 +84,7 @@
 	 * @ordered
 	 */
 	protected LayerStackDescriptorRegistry layerStackRegistry;
+
 	/**
 	 * The cached value of the '{@link #getPropertyRegistry() <em>Property Registry</em>}' containment reference.
 	 * <!-- begin-user-doc -->
@@ -132,55 +138,13 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected LayersStackApplicationImpl() {
 		super();
-		init();
 	}
 
 	/**
-	 * Init the class
-	 * Create the internal objects : {@link PropertyRegistry}, {@link LayerStackDescriptorRegistry}.
-	 */
-	protected void init() {
-		// Create the PropertyRegistry
-		PropertyRegistry propertyRegistry = LayersFactory.eINSTANCE.createPropertyRegistry();
-		setPropertyRegistry(propertyRegistry);
-
-		// Create the LayerStackDescriptorRegistry
-		LayerStackDescriptorRegistry layerStackDescriptorRegistry = LayersFactory.eINSTANCE.createLayerStackDescriptorRegistry();
-		setLayerStackRegistry(layerStackDescriptorRegistry);
-
-		// Create the LayerDescriptorRegistry
-		LayerDescriptorRegistry layerDescriptorRegistry = LayersFactory.eINSTANCE.createLayerDescriptorRegistry();
-		setLayerDescriptorRegistry(layerDescriptorRegistry);
-
-		// Create the config model and the registries loader
-		LayersConfigModel configModel = LayersConfigModel.getInstance();
-		RegistriesLoader registriesLoader = new RegistriesLoader(configModel);
-
-		// Create the LayerOperatorDescriptorRegistry
-		LayerOperatorDescriptorRegistry layerOperatorDescriptorRegistry = LayersFactory.eINSTANCE.createLayerOperatorDescriptorRegistry();
-		layerOperatorDescriptorRegistry.setPropertyCollectionSize(propertyRegistry.getPropertiesCount());
-
-		registriesLoader.loadLayerOperatorDescriptorRegistry(layerOperatorDescriptorRegistry, propertyRegistry);
-		setLayerOperatorDescriptorRegistry(layerOperatorDescriptorRegistry);
-
-		// Create the LayerApplicationFactory
-		LayerApplicationFactory layerApplicationFactory = LayersFactory.eINSTANCE.createLayerApplicationFactory();
-		setFactory(layerApplicationFactory);
-
-		// Create the PropertySetterRegistry
-		PropertySetterRegistry propertySetterRegistry = LayersFactory.eINSTANCE.createPropertySetterRegistry();
-		propertySetterRegistry.setApplication(this);
-		setPropertySetterRegistry(propertySetterRegistry);
-
-	}
-
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -195,8 +159,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EList<LayersStack> getLayersStacks() {
+	public List<LayersStack> getLayersStacks() {
 		if (layersStacks == null) {
 			layersStacks = new EObjectContainmentEList<LayersStack>(LayersStack.class, this, LayersPackage.LAYERS_STACK_APPLICATION__LAYERS_STACKS);
 		}
@@ -208,7 +171,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerStackDescriptorRegistry getLayerStackRegistry() {
 		return layerStackRegistry;
 	}
@@ -233,7 +195,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setLayerStackRegistry(LayerStackDescriptorRegistry newLayerStackRegistry) {
 		if (newLayerStackRegistry != layerStackRegistry) {
 			NotificationChain msgs = null;
@@ -253,7 +214,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public PropertyRegistry getPropertyRegistry() {
 		return propertyRegistry;
 	}
@@ -278,7 +238,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setPropertyRegistry(PropertyRegistry newPropertyRegistry) {
 		if (newPropertyRegistry != propertyRegistry) {
 			NotificationChain msgs = null;
@@ -298,7 +257,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerDescriptorRegistry getLayerDescriptorRegistry() {
 		return layerDescriptorRegistry;
 	}
@@ -323,7 +281,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setLayerDescriptorRegistry(LayerDescriptorRegistry newLayerDescriptorRegistry) {
 		if (newLayerDescriptorRegistry != layerDescriptorRegistry) {
 			NotificationChain msgs = null;
@@ -343,7 +300,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerApplicationFactory getFactory() {
 		return factory;
 	}
@@ -368,7 +324,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setFactory(LayerApplicationFactory newFactory) {
 		if (newFactory != factory) {
 			NotificationChain msgs = null;
@@ -388,7 +343,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public PropertySetterRegistry getPropertySetterRegistry() {
 		return propertySetterRegistry;
 	}
@@ -413,7 +367,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setPropertySetterRegistry(PropertySetterRegistry newPropertySetterRegistry) {
 		if (newPropertySetterRegistry != propertySetterRegistry) {
 			NotificationChain msgs = null;
@@ -433,7 +386,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerOperatorDescriptorRegistry getLayerOperatorDescriptorRegistry() {
 		return layerOperatorDescriptorRegistry;
 	}
@@ -458,7 +410,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setLayerOperatorDescriptorRegistry(LayerOperatorDescriptorRegistry newLayerOperatorDescriptorRegistry) {
 		if (newLayerOperatorDescriptorRegistry != layerOperatorDescriptorRegistry) {
 			NotificationChain msgs = null;
@@ -476,99 +427,56 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
-	public void removeLayersStackFor(Diagram diagram) {
-
-		try {
-			LayersStack stack = lookupLayersStackFor(diagram);
-			getLayersStacks().remove(stack);
-		} catch (NotFoundException e) {
-			// silently fails
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public boolean isLayersStackAttachedFor(Diagram diagram) {
-		try {
-			lookupLayersStackFor(diagram);
-			return true;
-		} catch (NotFoundException e) {
-			// not found
-			return false;
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public LayersStack lookupLayersStackFor(Diagram diagram) throws NotFoundException {
-		for (LayersStack stack : getLayersStacks()) {
-			if (stack.getDiagram() == diagram) {
-				return stack;
-			}
-		}
-
-		// Not found
-		throw new NotFoundException("No LayersStack attached for diagram: " + diagram);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Get the {@link LayersStack} for the specified diagram. Create it if
-	 * necessary.
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
 	public LayersStack getLayersStackFor(Diagram diagram) {
-		try {
-			return lookupLayersStackFor(diagram);
-		} catch (NotFoundException e) {
-			// Create a new one
-			return createLayersStackFor(diagram);
-		}
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
-	 * Create a new LayersStack for the specified diagram.
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
+	public void removeLayersStackFor(Diagram diagram) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isLayersStackAttachedFor(Diagram diagram) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public LayersStack createLayersStackFor(Diagram diagram) {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
 
-		// Create a new LayerStack and add it to application (this)
-		LayersStack layer = LayersFactory.eINSTANCE.createLayersStack();
-		layer.startAfterCreation();
-		layer.setDiagram(diagram);
-
-		// Create first layer in stack
-		TopLayerOperator rootLayer = LayersFactory.eINSTANCE.createTopLayerOperator();
-		rootLayer.setName("Top Layer");
-		rootLayer.setApplication(this);
-		layer.setLayers(rootLayer);
-
-		// attach stack to application
-		getLayersStacks().add(layer);
-
-
-		return layer;
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LayersStack lookupLayersStackFor(Diagram diagram) throws NotFoundException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
@@ -765,4 +673,4 @@
 		return super.eInvoke(operationID, arguments);
 	}
 
-} // LayersStackApplicationImpl
+} //LayersStackApplicationImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersStackImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersStackImpl.java
index 82c8ec5..0a258cc 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersStackImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LayersStackImpl.java
@@ -1,40 +1,45 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
+
 import java.util.List;
 
 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.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.gmf.runtime.notation.Diagram;
 import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.BadStateException;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerState;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier.ILayersTreeEventListener;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier.LayersTreeEventNotifier;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier.LayersTreeEventNotifierFactory;
 
 /**
  * <!-- begin-user-doc -->
@@ -53,9 +58,7 @@
  *
  * @generated
  */
-public class LayersStackImpl extends
-
-		EObjectImpl implements LayersStack {
+public class LayersStackImpl extends EObjectImpl implements LayersStack {
 	/**
 	 * The cached value of the '{@link #getLayers() <em>Layers</em>}' containment reference.
 	 * <!-- begin-user-doc -->
@@ -75,6 +78,7 @@
 	 * @ordered
 	 */
 	protected static final String NAME_EDEFAULT = null;
+
 	/**
 	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -84,6 +88,7 @@
 	 * @ordered
 	 */
 	protected String name = NAME_EDEFAULT;
+
 	/**
 	 * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -93,6 +98,7 @@
 	 * @ordered
 	 */
 	protected static final String DESCRIPTION_EDEFAULT = null;
+
 	/**
 	 * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -134,57 +140,12 @@
 	protected LayerState state = STATE_EDEFAULT;
 
 	/**
-	 * Listener on layers tree events.
-	 * This listener take in charge the initialization of added layers.
-	 */
-	private ILayersTreeEventListener layersTreeEventListener = new ILayersTreeEventListener() {
-
-		@Override
-		public void layerSet(Notification notification) {
-			LayersStackImpl.this.layerAdded((LayerExpression) notification.getNewValue());
-		}
-
-		@Override
-		public void layerRemoved(Notification notification) {
-			// nothing to do
-
-		}
-
-		@Override
-		public void layerMoved(Notification notification) {
-			// nothing to do
-
-		}
-
-		@Override
-		public void layerAdded(Notification notification) {
-			LayersStackImpl.this.layerAdded((LayerExpression) notification.getNewValue());
-		}
-
-	};
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected LayersStackImpl() {
 		super();
-
-		// Now, init should be called explicitly after creation.
-		// init();
-	}
-
-	/**
-	 * Init this object.
-	 * Create a listener on tree events.
-	 */
-	private void init() {
-
-		LayersTreeEventNotifier layersTreeEventnotifier = LayersTreeEventNotifierFactory.instance.adapt(this);
-
-		layersTreeEventnotifier.addLayersModelEventListener(layersTreeEventListener);
 	}
 
 	/**
@@ -202,7 +163,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerExpression getLayers() {
 		return layers;
 	}
@@ -227,7 +187,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setLayers(LayerExpression newLayers) {
 		if (newLayers != layers) {
 			NotificationChain msgs = null;
@@ -247,7 +206,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getName() {
 		return name;
 	}
@@ -257,7 +215,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -270,7 +227,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getDescription() {
 		return description;
 	}
@@ -280,7 +236,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setDescription(String newDescription) {
 		String oldDescription = description;
 		description = newDescription;
@@ -293,7 +248,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public Diagram getDiagram() {
 		if (diagram != null && diagram.eIsProxy()) {
 			InternalEObject oldDiagram = (InternalEObject)diagram;
@@ -320,7 +274,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setDiagram(Diagram newDiagram) {
 		Diagram oldDiagram = diagram;
 		diagram = newDiagram;
@@ -333,7 +286,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public LayerState getState() {
 		return state;
 	}
@@ -343,7 +295,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setState(LayerState newState) {
 		LayerState oldState = state;
 		state = newState == null ? STATE_EDEFAULT : newState;
@@ -356,7 +307,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void addLayer(LayerExpression layer) {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
@@ -366,27 +316,9 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @throws LayersException
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public ComputePropertyValueCommand getComputePropertyValueCommand(View view, Property property) throws LayersException {
-		LayerExpression layers = getLayers();
-		if (layers == null) {
-			throw new BadStateException("Layers should be set first.");
-		}
-
-		return layers.getComputePropertyValueCommand(view, property);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, EList<Property> property) throws LayersException {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
 		throw new UnsupportedOperationException();
@@ -397,8 +329,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(EList<View> view, Property property) throws LayersException {
+	public List<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> property) throws LayersException {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
 		throw new UnsupportedOperationException();
@@ -406,95 +337,24 @@
 
 	/**
 	 * <!-- begin-user-doc -->
-	 * Start this LayersStack after its creation. This method should be explicitly called by
-	 * user after the creation of a LayersStack.
 	 * <!-- end-user-doc -->
-	 *
-	 * @deprecated Not used anymore
-	 * @generated NOT
+	 * @generated
 	 */
-	@Deprecated
-	@Override
+	public List<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> view, Property property) throws LayersException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public void startAfterCreation() {
-		// Ensure child is initialized, if any
-		if (getLayers() != null) {
-			getLayers().attachToLayersStack(this);
-		}
-
-		// Start local behaviors
-		init();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Attach recursively the tree of layers.
-	 * <!-- end-user-doc -->
-	 *
-	 * @throws LayersException
-	 * @generated NOT
-	 */
-	@Override
-	public void attachLayers() throws LayersException {
-		// Ensure child is started, if any
-		if (getLayers() != null) {
-			getLayers().attach();
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void attach() throws LayersException {
-		// Stop if already in ATTACHED state.
-		if (getState() == LayerState.ATTACHED) {
-			return;
-		}
-
-		// Check required attributes
-		if (getDiagram() == null) {
-			throw new BadStateException("A required attribute is not set. The Layer can't be attached."
-					+ "[layerName=" + getName()
-					+ ", diagram=" + (getDiagram() == null ? "null" : "ok")
-					+ "]");
-		}
-
-		// Can go in attached mode
-		setState(LayerState.ATTACHED);
-		enterAttachedState();
-		attachLayers();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void detach() throws LayersException {
-		// Change the state
-		exitAttachedState();
-		setState(LayerState.DETACHED);
-		// Ensure child is started, if any
-		if (getLayers() != null) {
-			getLayers().detach();
-		}
-
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void enterAttachedState() throws LayersException {
-		init();
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
@@ -502,7 +362,50 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
+	public void attachLayers() throws LayersException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void attach() throws LayersException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void detach() throws LayersException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void enterAttachedState() throws LayersException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public void exitAttachedState() {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
@@ -512,41 +415,6 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @throws LayersException
-	 * @generated NOT
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> property) throws LayersException {
-		LayerExpression layers = getLayers();
-		if (layers == null) {
-			throw new BadStateException("Layers should be set first.");
-		}
-
-		return layers.getPropertiesComputePropertyValueCommand(view, property);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @throws BadStateException
-	 * @generated NOT
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> view, Property property) throws LayersException {
-
-		LayerExpression layers = getLayers();
-		if (layers == null) {
-			throw new BadStateException("Layers should be set first.");
-		}
-
-		return layers.getViewsComputePropertyValueCommand(view, property);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
@@ -676,16 +544,16 @@
 				catch (Throwable throwable) {
 					throw new InvocationTargetException(throwable);
 				}
-			case LayersPackage.LAYERS_STACK___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST:
+			case LayersPackage.LAYERS_STACK___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_LIST:
 				try {
-					return getPropertiesComputePropertyValueCommand((View)arguments.get(0), (EList<Property>)arguments.get(1));
+					return getPropertiesComputePropertyValueCommand((View)arguments.get(0), (List<Property>)arguments.get(1));
 				}
 				catch (Throwable throwable) {
 					throw new InvocationTargetException(throwable);
 				}
-			case LayersPackage.LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY:
+			case LayersPackage.LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__LIST_PROPERTY:
 				try {
-					return getViewsComputePropertyValueCommand((EList<View>)arguments.get(0), (Property)arguments.get(1));
+					return getViewsComputePropertyValueCommand((List<View>)arguments.get(0), (Property)arguments.get(1));
 				}
 				catch (Throwable throwable) {
 					throw new InvocationTargetException(throwable);
@@ -741,7 +609,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: "); //$NON-NLS-1$
 		result.append(name);
 		result.append(", description: "); //$NON-NLS-1$
@@ -752,22 +620,4 @@
 		return result.toString();
 	}
 
-	/**
-	 * A layer has been added to the layerTree.
-	 * Init this layer.
-	 * This method is called by the listener on layerTree events.
-	 *
-	 * @param addedLayer
-	 *            The added layer.
-	 */
-	protected void layerAdded(LayerExpression addedLayer) {
-		// Stop if there is no layer
-		if (addedLayer == null) {
-			return;
-		}
-		// init the layer
-		addedLayer.attachToLayersStack(this);
-
-	}
-
-} // LayersStackImpl
+} //LayersStackImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LineInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LineInstanceImpl.java
deleted file mode 100755
index e9c3528..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LineInstanceImpl.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Line Instance</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LineInstanceImpl#getLineColor <em>Line Color</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LineInstanceImpl#getLineWith <em>Line With</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class LineInstanceImpl extends TypeInstanceImpl implements LineInstance {
-	/**
-	 * The default value of the '{@link #getLineColor() <em>Line Color</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLineColor()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int LINE_COLOR_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getLineColor() <em>Line Color</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLineColor()
-	 * @generated
-	 * @ordered
-	 */
-	protected int lineColor = LINE_COLOR_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getLineWith() <em>Line With</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLineWith()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int LINE_WITH_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getLineWith() <em>Line With</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLineWith()
-	 * @generated
-	 * @ordered
-	 */
-	protected int lineWith = LINE_WITH_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LineInstanceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.LINE_INSTANCE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int getLineColor() {
-		return lineColor;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setLineColor(int newLineColor) {
-		int oldLineColor = lineColor;
-		lineColor = newLineColor;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.LINE_INSTANCE__LINE_COLOR, oldLineColor, lineColor));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int getLineWith() {
-		return lineWith;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setLineWith(int newLineWith) {
-		int oldLineWith = lineWith;
-		lineWith = newLineWith;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.LINE_INSTANCE__LINE_WITH, oldLineWith, lineWith));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case LayersPackage.LINE_INSTANCE__LINE_COLOR:
-				return getLineColor();
-			case LayersPackage.LINE_INSTANCE__LINE_WITH:
-				return getLineWith();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.LINE_INSTANCE__LINE_COLOR:
-				setLineColor((Integer)newValue);
-				return;
-			case LayersPackage.LINE_INSTANCE__LINE_WITH:
-				setLineWith((Integer)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.LINE_INSTANCE__LINE_COLOR:
-				setLineColor(LINE_COLOR_EDEFAULT);
-				return;
-			case LayersPackage.LINE_INSTANCE__LINE_WITH:
-				setLineWith(LINE_WITH_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.LINE_INSTANCE__LINE_COLOR:
-				return lineColor != LINE_COLOR_EDEFAULT;
-			case LayersPackage.LINE_INSTANCE__LINE_WITH:
-				return lineWith != LINE_WITH_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromString(String value) {
-
-		if (value == null || value.length() == 0) {
-			return;
-		}
-
-		// The value should contains the 2 values, separated by comma
-		// "lineColor, lineWith"
-		String[] values = value.split(",");
-		try {
-			setLineColor(Integer.parseInt(values[0].trim()));
-			setLineWith(Integer.parseInt(values[1].trim()));
-		} catch (NumberFormatException e) {
-			// fail silently
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromInstance(TypeInstance value) {
-
-		// Check if the value is of the right instance
-		if (!getClass().isInstance(value)) {
-			return;
-		}
-
-		LineInstance instance = (LineInstance) value;
-		setLineColor(instance.getLineColor());
-		setLineWith(instance.getLineWith());
-	}
-
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (lineColor: "); //$NON-NLS-1$
-		result.append(lineColor);
-		result.append(", lineWith: "); //$NON-NLS-1$
-		result.append(lineWith);
-		result.append(')');
-		return result.toString();
-	}
-
-} // LineInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LinePropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LinePropertySetterImpl.java
deleted file mode 100755
index 9178d48..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LinePropertySetterImpl.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.gmf.runtime.notation.FontStyle;
-import org.eclipse.gmf.runtime.notation.LineStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LinePropertySetter;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Line Property Setter</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class LinePropertySetterImpl extends PropertySetterImpl implements LinePropertySetter {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected LinePropertySetterImpl() {
-		super();
-		setPropertyName("line");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.LINE_PROPERTY_SETTER;
-	}
-
-	/**
-	 * Set the property of the specified view.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterImpl#setValue(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance)
-	 *
-	 * @param view
-	 * @param value
-	 */
-	@Override
-	public void setValue(View view, TypeInstance value) {
-
-
-		// Try to get the FontStyle object to modify
-		LineStyle style;
-		if (view instanceof FontStyle) {
-			// Try directly (case of Shape ...)
-			style = (LineStyle) view;
-		} else {
-			// Try as additionnal style
-			style = (LineStyle) view.getStyle(NotationPackage.eINSTANCE.getLineStyle());
-		}
-
-		// Set values
-		if (style != null) {
-
-
-			LineInstance lineValue = (LineInstance) value;
-
-			style.setLineColor(lineValue.getLineColor());
-			style.setLineWidth(lineValue.getLineWith());
-		}
-
-	}
-
-} // LinePropertySetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LineTypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LineTypeImpl.java
deleted file mode 100755
index 0a11233..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/LineTypeImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Line Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class LineTypeImpl extends TypeImpl implements LineType {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected LineTypeImpl() {
-		super();
-		setName("LineType");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.LINE_TYPE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public TypeInstance createInstance() {
-		LineInstance instance = LayersFactory.eINSTANCE.createLineInstance();
-		return instance;
-	}
-
-
-} // LineTypeImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/MetamodelImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/MetamodelImpl.java
index 456c552..7e991f3 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/MetamodelImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/MetamodelImpl.java
@@ -1,24 +1,29 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EPackage;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel;
 
@@ -40,8 +45,7 @@
  *
  * @generated
  */
-public class MetamodelImpl extends
-		FolderElementImpl implements Metamodel {
+public class MetamodelImpl extends FolderElementImpl implements Metamodel {
 	/**
 	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -186,7 +190,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getName() {
 		return name;
 	}
@@ -196,7 +199,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -209,7 +211,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getDescription() {
 		return description;
 	}
@@ -219,7 +220,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setDescription(String newDescription) {
 		String oldDescription = description;
 		description = newDescription;
@@ -232,7 +232,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getNsuri() {
 		return nsuri;
 	}
@@ -242,7 +241,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setNsuri(String newNsuri) {
 		String oldNsuri = nsuri;
 		nsuri = newNsuri;
@@ -255,7 +253,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getPluginID() {
 		return pluginID;
 	}
@@ -265,7 +262,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setPluginID(String newPluginID) {
 		String oldPluginID = pluginID;
 		pluginID = newPluginID;
@@ -278,7 +274,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getEPackageInstanceName() {
 		return ePackageInstanceName;
 	}
@@ -288,7 +283,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setEPackageInstanceName(String newEPackageInstanceName) {
 		String oldEPackageInstanceName = ePackageInstanceName;
 		ePackageInstanceName = newEPackageInstanceName;
@@ -301,7 +295,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public boolean isTypeValid() {
 		return isTypeValid;
 	}
@@ -311,7 +304,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setIsTypeValid(boolean newIsTypeValid) {
 		boolean oldIsTypeValid = isTypeValid;
 		isTypeValid = newIsTypeValid;
@@ -324,7 +316,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public EPackage getEPackage() {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
@@ -462,7 +453,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: "); //$NON-NLS-1$
 		result.append(name);
 		result.append(", description: "); //$NON-NLS-1$
@@ -479,4 +470,4 @@
 		return result.toString();
 	}
 
-} // MetamodelImpl
+} //MetamodelImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/NullInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/NullInstanceImpl.java
index 06bca6b..4ef229c 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/NullInstanceImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/NullInstanceImpl.java
@@ -1,21 +1,24 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
 
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullInstance;
 
@@ -51,7 +54,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public NullInstance getInstance() {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
@@ -72,4 +74,4 @@
 		return super.eInvoke(operationID, arguments);
 	}
 
-} // NullInstanceImpl
+} //NullInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/NullPropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/NullPropertySetterImpl.java
index 081b122..400e674 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/NullPropertySetterImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/NullPropertySetterImpl.java
@@ -1,18 +1,20 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullPropertySetter;
 
@@ -27,12 +29,10 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected NullPropertySetterImpl() {
 		super();
-		setPropertyName("NullPropertySetter");
 	}
 
 	/**
@@ -45,4 +45,4 @@
 		return LayersPackage.Literals.NULL_PROPERTY_SETTER;
 	}
 
-} // NullPropertySetterImpl
+} //NullPropertySetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/OrStackedLayerOperatorDescriptorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/OrStackedLayerOperatorDescriptorImpl.java
deleted file mode 100755
index b100238..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/OrStackedLayerOperatorDescriptorImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.OrStackedLayerOperatorDescriptor;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Or Stacked Layer Operator Descriptor</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class OrStackedLayerOperatorDescriptorImpl extends StackedLayerOperatorDescriptorImpl implements OrStackedLayerOperatorDescriptor {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected OrStackedLayerOperatorDescriptorImpl() {
-		super();
-		setName("OrStackedLayerOperator");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.OR_STACKED_LAYER_OPERATOR_DESCRIPTOR;
-	}
-
-} // OrStackedLayerOperatorDescriptorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyImpl.java
index 7477a4d..37644e1 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyImpl.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
@@ -16,11 +17,16 @@
 
 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.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.BadStateException;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type;
@@ -43,8 +49,7 @@
  *
  * @generated
  */
-public class PropertyImpl extends
-		FolderElementImpl implements Property {
+public class PropertyImpl extends FolderElementImpl implements Property {
 	/**
 	 * The cached value of the '{@link #getType() <em>Type</em>}' reference.
 	 * <!-- begin-user-doc -->
@@ -149,7 +154,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public Type getType() {
 		if (type != null && type.eIsProxy()) {
 			InternalEObject oldType = (InternalEObject)type;
@@ -176,7 +180,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setType(Type newType) {
 		Type oldType = type;
 		type = newType;
@@ -189,7 +192,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public TypeInstance getDefaultValue() {
 		return defaultValue;
 	}
@@ -214,7 +216,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setDefaultValue(TypeInstance newDefaultValue) {
 		if (newDefaultValue != defaultValue) {
 			NotificationChain msgs = null;
@@ -234,7 +235,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getName() {
 		return name;
 	}
@@ -244,7 +244,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -257,7 +256,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getDescription() {
 		return description;
 	}
@@ -267,7 +265,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setDescription(String newDescription) {
 		String oldDescription = description;
 		description = newDescription;
@@ -280,7 +277,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public int getIndex() {
 		return index;
 	}
@@ -290,7 +286,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setIndex(int newIndex) {
 		int oldIndex = index;
 		index = newIndex;
@@ -301,25 +296,12 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @throws BadStateException
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public TypeInstance createInstance() throws BadStateException {
-
-		if (type == null) {
-			throw new BadStateException("Property '" + getName() + "', type must be set to create an instance");
-		}
-
-		// Create an instance
-		TypeInstance instance = type.createInstance();
-		// Set the default value if needed
-		if (getDefaultValue() != null) {
-			instance.setValueFromInstance(getDefaultValue());
-		}
-
-		return instance;
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
@@ -463,7 +445,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: "); //$NON-NLS-1$
 		result.append(name);
 		result.append(", description: "); //$NON-NLS-1$
@@ -474,4 +456,4 @@
 		return result.toString();
 	}
 
-} // PropertyImpl
+} //PropertyImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyIndexImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyIndexImpl.java
index f24ce4a..838db63 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyIndexImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyIndexImpl.java
@@ -1,22 +1,26 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyIndex;
@@ -90,7 +94,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public Property getProperty() {
 		if (property != null && property.eIsProxy()) {
 			InternalEObject oldProperty = (InternalEObject)property;
@@ -117,7 +120,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setProperty(Property newProperty) {
 		Property oldProperty = property;
 		property = newProperty;
@@ -130,7 +132,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public int getIndex() {
 		return index;
 	}
@@ -140,7 +141,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setIndex(int newIndex) {
 		int oldIndex = index;
 		index = newIndex;
@@ -226,11 +226,11 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (index: "); //$NON-NLS-1$
 		result.append(index);
 		result.append(')');
 		return result.toString();
 	}
 
-} // PropertyIndexImpl
+} //PropertyIndexImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyOperatorImpl.java
index 0152f13..5685723 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyOperatorImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyOperatorImpl.java
@@ -1,26 +1,36 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
 
+import java.util.List;
+
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
 
@@ -33,6 +43,9 @@
  * </p>
  * <ul>
  *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyOperatorImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyOperatorImpl#getClassname <em>Classname</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyOperatorImpl#getOperatorInstance <em>Operator Instance</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyOperatorImpl#getClassBundleID <em>Class Bundle ID</em>}</li>
  * </ul>
  *
  * @generated
@@ -59,6 +72,56 @@
 	protected String name = NAME_EDEFAULT;
 
 	/**
+	 * The default value of the '{@link #getClassname() <em>Classname</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClassname()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CLASSNAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getClassname() <em>Classname</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClassname()
+	 * @generated
+	 * @ordered
+	 */
+	protected String classname = CLASSNAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getOperatorInstance() <em>Operator Instance</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOperatorInstance()
+	 * @generated
+	 * @ordered
+	 */
+	protected PropertyOperator operatorInstance;
+
+	/**
+	 * The default value of the '{@link #getClassBundleID() <em>Class Bundle ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClassBundleID()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CLASS_BUNDLE_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getClassBundleID() <em>Class Bundle ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClassBundleID()
+	 * @generated
+	 * @ordered
+	 */
+	protected String classBundleID = CLASS_BUNDLE_ID_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -106,7 +169,104 @@
 	 * @generated
 	 */
 	@Override
-	public ComputePropertyValueCommand getComputePropertyValueCommand(EList<ComputePropertyValueCommand> property) throws LayersException {
+	public String getClassname() {
+		return classname;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setClassname(String newClassname) {
+		String oldClassname = classname;
+		classname = newClassname;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.PROPERTY_OPERATOR__CLASSNAME, oldClassname, classname));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public PropertyOperator getOperatorInstance() {
+		if (operatorInstance != null && operatorInstance.eIsProxy()) {
+			InternalEObject oldOperatorInstance = (InternalEObject)operatorInstance;
+			operatorInstance = (PropertyOperator)eResolveProxy(oldOperatorInstance);
+			if (operatorInstance != oldOperatorInstance) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, LayersPackage.PROPERTY_OPERATOR__OPERATOR_INSTANCE, oldOperatorInstance, operatorInstance));
+			}
+		}
+		return operatorInstance;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PropertyOperator basicGetOperatorInstance() {
+		return operatorInstance;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOperatorInstance(PropertyOperator newOperatorInstance) {
+		PropertyOperator oldOperatorInstance = operatorInstance;
+		operatorInstance = newOperatorInstance;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.PROPERTY_OPERATOR__OPERATOR_INSTANCE, oldOperatorInstance, operatorInstance));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getClassBundleID() {
+		return classBundleID;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setClassBundleID(String newClassBundleID) {
+		String oldClassBundleID = classBundleID;
+		classBundleID = newClassBundleID;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.PROPERTY_OPERATOR__CLASS_BUNDLE_ID, oldClassBundleID, classBundleID));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ComputePropertyValueCommand getComputePropertyValueCommand(List<ComputePropertyValueCommand> property) throws LayersException {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void resetOperatorInstance() throws LayersException {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
 		throw new UnsupportedOperationException();
@@ -122,6 +282,13 @@
 		switch (featureID) {
 			case LayersPackage.PROPERTY_OPERATOR__NAME:
 				return getName();
+			case LayersPackage.PROPERTY_OPERATOR__CLASSNAME:
+				return getClassname();
+			case LayersPackage.PROPERTY_OPERATOR__OPERATOR_INSTANCE:
+				if (resolve) return getOperatorInstance();
+				return basicGetOperatorInstance();
+			case LayersPackage.PROPERTY_OPERATOR__CLASS_BUNDLE_ID:
+				return getClassBundleID();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -137,6 +304,15 @@
 			case LayersPackage.PROPERTY_OPERATOR__NAME:
 				setName((String)newValue);
 				return;
+			case LayersPackage.PROPERTY_OPERATOR__CLASSNAME:
+				setClassname((String)newValue);
+				return;
+			case LayersPackage.PROPERTY_OPERATOR__OPERATOR_INSTANCE:
+				setOperatorInstance((PropertyOperator)newValue);
+				return;
+			case LayersPackage.PROPERTY_OPERATOR__CLASS_BUNDLE_ID:
+				setClassBundleID((String)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -152,6 +328,15 @@
 			case LayersPackage.PROPERTY_OPERATOR__NAME:
 				setName(NAME_EDEFAULT);
 				return;
+			case LayersPackage.PROPERTY_OPERATOR__CLASSNAME:
+				setClassname(CLASSNAME_EDEFAULT);
+				return;
+			case LayersPackage.PROPERTY_OPERATOR__OPERATOR_INSTANCE:
+				setOperatorInstance((PropertyOperator)null);
+				return;
+			case LayersPackage.PROPERTY_OPERATOR__CLASS_BUNDLE_ID:
+				setClassBundleID(CLASS_BUNDLE_ID_EDEFAULT);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -166,6 +351,12 @@
 		switch (featureID) {
 			case LayersPackage.PROPERTY_OPERATOR__NAME:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case LayersPackage.PROPERTY_OPERATOR__CLASSNAME:
+				return CLASSNAME_EDEFAULT == null ? classname != null : !CLASSNAME_EDEFAULT.equals(classname);
+			case LayersPackage.PROPERTY_OPERATOR__OPERATOR_INSTANCE:
+				return operatorInstance != null;
+			case LayersPackage.PROPERTY_OPERATOR__CLASS_BUNDLE_ID:
+				return CLASS_BUNDLE_ID_EDEFAULT == null ? classBundleID != null : !CLASS_BUNDLE_ID_EDEFAULT.equals(classBundleID);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -179,9 +370,17 @@
 	@SuppressWarnings("unchecked")
 	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
 		switch (operationID) {
-			case LayersPackage.PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST:
+			case LayersPackage.PROPERTY_OPERATOR___GET_COMPUTE_PROPERTY_VALUE_COMMAND__LIST:
 				try {
-					return getComputePropertyValueCommand((EList<ComputePropertyValueCommand>)arguments.get(0));
+					return getComputePropertyValueCommand((List<ComputePropertyValueCommand>)arguments.get(0));
+				}
+				catch (Throwable throwable) {
+					throw new InvocationTargetException(throwable);
+				}
+			case LayersPackage.PROPERTY_OPERATOR___RESET_OPERATOR_INSTANCE:
+				try {
+					resetOperatorInstance();
+					return null;
 				}
 				catch (Throwable throwable) {
 					throw new InvocationTargetException(throwable);
@@ -199,9 +398,13 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: "); //$NON-NLS-1$
 		result.append(name);
+		result.append(", classname: "); //$NON-NLS-1$
+		result.append(classname);
+		result.append(", classBundleID: "); //$NON-NLS-1$
+		result.append(classBundleID);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyRegistryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyRegistryImpl.java
index 2b22467..ad3982f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyRegistryImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertyRegistryImpl.java
@@ -1,37 +1,42 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
+
 import java.util.Collection;
 import java.util.List;
 
 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.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.InternalEList;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeRegistry;
 
 /**
@@ -42,9 +47,9 @@
  * The following features are implemented:
  * </p>
  * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyRegistryImpl#getProperties <em>Properties</em>}</li>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyRegistryImpl#getTypeRegistry <em>Type Registry</em>}</li>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyRegistryImpl#getPropertiesCount <em>Properties Count</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyRegistryImpl#getProperties <em>Properties</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyRegistryImpl#getTypeRegistry <em>Type Registry</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyRegistryImpl#getPropertiesCount <em>Properties Count</em>}</li>
  * </ul>
  *
  * @generated
@@ -54,7 +59,6 @@
 	 * The cached value of the '{@link #getProperties() <em>Properties</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @see #getProperties()
 	 * @generated
 	 * @ordered
@@ -65,7 +69,6 @@
 	 * The cached value of the '{@link #getTypeRegistry() <em>Type Registry</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @see #getTypeRegistry()
 	 * @generated
 	 * @ordered
@@ -76,7 +79,6 @@
 	 * The default value of the '{@link #getPropertiesCount() <em>Properties Count</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @see #getPropertiesCount()
 	 * @generated
 	 * @ordered
@@ -86,70 +88,15 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected PropertyRegistryImpl() {
 		super();
-		// initialie transient ref
-		init();
-	}
-
-	/**
-	 * Init the transient references
-	 * Create the internal objects : TypeRegistry.
-	 */
-	protected void init() {
-		// Create the TypeRegistry
-		TypeRegistry typeRegistry = LayersFactory.eINSTANCE.createTypeRegistry();
-		setTypeRegistry(typeRegistry);
-
-		// Initialize the list of properties
-		// Properties to add
-		// name, type, defaultvalues
-		// colors: black=0 , fushia=15053796,
-		String[] properties = new String[] {
-				// "name", "String",
-				// "age", "int",
-				// "num", "int",
-				// "addr", "String",
-				// "isValid", "boolean", "true",
-				// "bgcolor", "Color",
-				// "fgcolor", "Color",
-
-				"css", "CSSType", "",
-				"cssHide", "CSSHideType", "",
-				// "isVisible", "boolean", "true",
-				// "isAbstract", "boolean", "false",
-				// "fill", "Fill", "0, 15053796", // "transparency, fillColor"
-				// "line", "LineType", "0, -1", // "lineColor, lineWith"
-				// "font", "FontType", "Segoe UI, 9, 0, false", // "FontName, FontHeight, FontColor, Bold"
-		};
-
-		for (int i = 0; i < properties.length; i += 3) {
-
-
-			Property property = LayersFactory.eINSTANCE.createProperty();
-			property.setName(properties[i]);
-			Type propertyType = typeRegistry.getTypes().get(properties[i + 1]);
-			property.setType(propertyType);
-			// Create Default value
-			String defaultValueStr = properties[i + 2];
-			if (defaultValueStr != null && defaultValueStr.length() > 0) {
-				TypeInstance defaultValue = propertyType.createInstance();
-				defaultValue.setValueFromString(defaultValueStr);
-				property.setDefaultValue(defaultValue);
-			}
-
-			addProperty(property);
-			// getProperties().add(property);
-		}
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
@@ -160,11 +107,9 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	@Override
-	public EList<Property> getProperties() {
+	public List<Property> getProperties() {
 		if (properties == null) {
 			properties = new EObjectContainmentEList<Property>(Property.class, this, LayersPackage.PROPERTY_REGISTRY__PROPERTIES);
 		}
@@ -174,10 +119,8 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	@Override
 	public TypeRegistry getTypeRegistry() {
 		return typeRegistry;
 	}
@@ -185,7 +128,6 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public NotificationChain basicSetTypeRegistry(TypeRegistry newTypeRegistry, NotificationChain msgs) {
@@ -193,10 +135,7 @@
 		typeRegistry = newTypeRegistry;
 		if (eNotificationRequired()) {
 			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY, oldTypeRegistry, newTypeRegistry);
-			if (msgs == null)
-				msgs = notification;
-			else
-				msgs.add(notification);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
 	}
@@ -204,108 +143,78 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	@Override
 	public void setTypeRegistry(TypeRegistry newTypeRegistry) {
 		if (newTypeRegistry != typeRegistry) {
 			NotificationChain msgs = null;
 			if (typeRegistry != null)
-				msgs = ((InternalEObject) typeRegistry).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY, null, msgs);
+				msgs = ((InternalEObject)typeRegistry).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY, null, msgs);
 			if (newTypeRegistry != null)
-				msgs = ((InternalEObject) newTypeRegistry).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY, null, msgs);
+				msgs = ((InternalEObject)newTypeRegistry).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY, null, msgs);
 			msgs = basicSetTypeRegistry(newTypeRegistry, msgs);
-			if (msgs != null)
-				msgs.dispatch();
-		} else if (eNotificationRequired())
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY, newTypeRegistry, newTypeRegistry));
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public int getPropertiesCount() {
-		return getProperties().size();
+		// TODO: implement this method to return the 'Properties Count' attribute
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public int getPropertyIndex(String propertyName) throws NotFoundException {
-
-		if (propertyName == null) {
-			throw new NotFoundException("Null not Allowed");
-		}
-		List<Property> props = getProperties();
-		for (int i = 0; i < props.size(); i++) {
-			if (propertyName.equals(props.get(i).getName())) {
-				return i;
-			}
-		}
-
-		// Not found
-		throw new NotFoundException("No property found with name '" + propertyName + "'");
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public Property getProperty(String propertyName) throws NotFoundException {
-
-		int index = getPropertyIndex(propertyName);
-		return getProperties().get(index);
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public void addProperty(Property property) {
-
-		// Check if the property already exist
-		try {
-			getProperty(property.getName());
-			// Already exist ==> return
-			return;
-		} catch (NotFoundException e) {
-			// ok
-		}
-
-		// set the index
-		property.setIndex(getProperties().size());
-		// Add the property
-		getProperties().add(property);
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_REGISTRY__PROPERTIES:
-			return ((InternalEList<?>) getProperties()).basicRemove(otherEnd, msgs);
-		case LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY:
-			return basicSetTypeRegistry(null, msgs);
+			case LayersPackage.PROPERTY_REGISTRY__PROPERTIES:
+				return ((InternalEList<?>)getProperties()).basicRemove(otherEnd, msgs);
+			case LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY:
+				return basicSetTypeRegistry(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -313,18 +222,17 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_REGISTRY__PROPERTIES:
-			return getProperties();
-		case LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY:
-			return getTypeRegistry();
-		case LayersPackage.PROPERTY_REGISTRY__PROPERTIES_COUNT:
-			return getPropertiesCount();
+			case LayersPackage.PROPERTY_REGISTRY__PROPERTIES:
+				return getProperties();
+			case LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY:
+				return getTypeRegistry();
+			case LayersPackage.PROPERTY_REGISTRY__PROPERTIES_COUNT:
+				return getPropertiesCount();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -332,20 +240,19 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_REGISTRY__PROPERTIES:
-			getProperties().clear();
-			getProperties().addAll((Collection<? extends Property>) newValue);
-			return;
-		case LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY:
-			setTypeRegistry((TypeRegistry) newValue);
-			return;
+			case LayersPackage.PROPERTY_REGISTRY__PROPERTIES:
+				getProperties().clear();
+				getProperties().addAll((Collection<? extends Property>)newValue);
+				return;
+			case LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY:
+				setTypeRegistry((TypeRegistry)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -353,18 +260,17 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_REGISTRY__PROPERTIES:
-			getProperties().clear();
-			return;
-		case LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY:
-			setTypeRegistry((TypeRegistry) null);
-			return;
+			case LayersPackage.PROPERTY_REGISTRY__PROPERTIES:
+				getProperties().clear();
+				return;
+			case LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY:
+				setTypeRegistry((TypeRegistry)null);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -372,18 +278,17 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_REGISTRY__PROPERTIES:
-			return properties != null && !properties.isEmpty();
-		case LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY:
-			return typeRegistry != null;
-		case LayersPackage.PROPERTY_REGISTRY__PROPERTIES_COUNT:
-			return getPropertiesCount() != PROPERTIES_COUNT_EDEFAULT;
+			case LayersPackage.PROPERTY_REGISTRY__PROPERTIES:
+				return properties != null && !properties.isEmpty();
+			case LayersPackage.PROPERTY_REGISTRY__TYPE_REGISTRY:
+				return typeRegistry != null;
+			case LayersPackage.PROPERTY_REGISTRY__PROPERTIES_COUNT:
+				return getPropertiesCount() != PROPERTIES_COUNT_EDEFAULT;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -391,29 +296,30 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
 		switch (operationID) {
-		case LayersPackage.PROPERTY_REGISTRY___GET_PROPERTY_INDEX__STRING:
-			try {
-				return getPropertyIndex((String) arguments.get(0));
-			} catch (Throwable throwable) {
-				throw new InvocationTargetException(throwable);
-			}
-		case LayersPackage.PROPERTY_REGISTRY___GET_PROPERTY__STRING:
-			try {
-				return getProperty((String) arguments.get(0));
-			} catch (Throwable throwable) {
-				throw new InvocationTargetException(throwable);
-			}
-		case LayersPackage.PROPERTY_REGISTRY___ADD_PROPERTY__PROPERTY:
-			addProperty((Property) arguments.get(0));
-			return null;
+			case LayersPackage.PROPERTY_REGISTRY___GET_PROPERTY_INDEX__STRING:
+				try {
+					return getPropertyIndex((String)arguments.get(0));
+				}
+				catch (Throwable throwable) {
+					throw new InvocationTargetException(throwable);
+				}
+			case LayersPackage.PROPERTY_REGISTRY___GET_PROPERTY__STRING:
+				try {
+					return getProperty((String)arguments.get(0));
+				}
+				catch (Throwable throwable) {
+					throw new InvocationTargetException(throwable);
+				}
+			case LayersPackage.PROPERTY_REGISTRY___ADD_PROPERTY__PROPERTY:
+				addProperty((Property)arguments.get(0));
+				return null;
 		}
 		return super.eInvoke(operationID, arguments);
 	}
 
-} // PropertyRegistryImpl
+} //PropertyRegistryImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertySetterImpl.java
index c7737e4..250be69 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertySetterImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertySetterImpl.java
@@ -1,26 +1,32 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.gmf.runtime.notation.View;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter;
@@ -60,6 +66,7 @@
 	 * @ordered
 	 */
 	protected static final String PROPERTY_NAME_EDEFAULT = null;
+
 	/**
 	 * The cached value of the '{@link #getPropertyName() <em>Property Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -94,7 +101,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public Property getProperty() {
 		if (property != null && property.eIsProxy()) {
 			InternalEObject oldProperty = (InternalEObject)property;
@@ -121,7 +127,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setProperty(Property newProperty) {
 		Property oldProperty = property;
 		property = newProperty;
@@ -134,7 +139,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getPropertyName() {
 		return propertyName;
 	}
@@ -144,7 +148,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setPropertyName(String newPropertyName) {
 		String oldPropertyName = propertyName;
 		propertyName = newPropertyName;
@@ -157,7 +160,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setValue(View view, TypeInstance value) {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
@@ -257,11 +259,11 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (propertyName: "); //$NON-NLS-1$
 		result.append(propertyName);
 		result.append(')');
 		return result.toString();
 	}
 
-} // PropertySetterImpl
+} //PropertySetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertySetterRegistryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertySetterRegistryImpl.java
index 1791e20..12bd39d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertySetterRegistryImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/PropertySetterRegistryImpl.java
@@ -1,41 +1,49 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
+
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 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.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
 import org.eclipse.emf.ecore.util.EcoreEMap;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecore.util.InternalEList;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetterRegistry;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.util.PropertyIndexedList;
 
 /**
  * <!-- begin-user-doc -->
@@ -45,9 +53,9 @@
  * The following features are implemented:
  * </p>
  * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterRegistryImpl#getPropertySetters <em>Property Setters</em>}</li>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterRegistryImpl#getSetterMap <em>Setter Map</em>}</li>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterRegistryImpl#getApplication <em>Application</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterRegistryImpl#getPropertySetters <em>Property Setters</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterRegistryImpl#getSetterMap <em>Setter Map</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterRegistryImpl#getApplication <em>Application</em>}</li>
  * </ul>
  *
  * @generated
@@ -57,7 +65,6 @@
 	 * The cached value of the '{@link #getPropertySetters() <em>Property Setters</em>}' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @see #getPropertySetters()
 	 * @generated
 	 * @ordered
@@ -68,7 +75,6 @@
 	 * The cached value of the '{@link #getSetterMap() <em>Setter Map</em>}' map.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @see #getSetterMap()
 	 * @generated
 	 * @ordered
@@ -78,33 +84,15 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected PropertySetterRegistryImpl() {
 		super();
-		init();
-	}
-
-	/**
-	 * Initialize the registry with some setters
-	 */
-	protected void init() {
-
-		// addPropertySetter(LayersFactory.eINSTANCE.createFillPropertySetter());
-		// addPropertySetter(LayersFactory.eINSTANCE.createIsValidPropertySetter());
-		// addPropertySetter(LayersFactory.eINSTANCE.createLinePropertySetter());
-		// addPropertySetter(LayersFactory.eINSTANCE.createFontPropertySetter());
-		// addPropertySetter(LayersFactory.eINSTANCE.createIsVisiblePropertySetter());
-		// addPropertySetter(LayersFactory.eINSTANCE.createIsAbstractUmlSetter());
-		addPropertySetter(LayersFactory.eINSTANCE.createCSSPropertySetter());
-		addPropertySetter(LayersFactory.eINSTANCE.createCSSHidePropertySetter());
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
@@ -115,17 +103,11 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
-	public EList<PropertySetter> getPropertySetters() {
-		// if (propertySetters == null) {
-		// propertySetters = new EObjectResolvingEList<PropertySetter>(PropertySetter.class, this, LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS);
-		// }
+	public List<PropertySetter> getPropertySetters() {
 		if (propertySetters == null) {
-			propertySetters = new PropertyIndexedList<PropertySetter>(getSetterMap(), PropertySetter.class, this, LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS, LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP,
-					PropertySetter.NULL_PROPERTY_SETTER);
+			propertySetters = new EObjectResolvingEList<PropertySetter>(PropertySetter.class, this, LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS);
 		}
 		return propertySetters;
 	}
@@ -133,140 +115,101 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	@Override
-	public EMap<String, PropertySetter> getSetterMap() {
+	public Map<String, PropertySetter> getSetterMap() {
 		if (setterMap == null) {
-			setterMap = new EcoreEMap<String, PropertySetter>(LayersPackage.Literals.STRING_TO_PROPERTY_SETTER, StringToPropertySetterImpl.class, this, LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP);
+			setterMap = new EcoreEMap<String,PropertySetter>(LayersPackage.Literals.STRING_TO_PROPERTY_SETTER, StringToPropertySetterImpl.class, this, LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP);
 		}
-		return setterMap;
+		return setterMap.map();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	@Override
 	public LayersStackApplication getApplication() {
-		if (eContainerFeatureID() != LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION)
-			return null;
-		return (LayersStackApplication) eInternalContainer();
+		if (eContainerFeatureID() != LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION) return null;
+		return (LayersStackApplication)eInternalContainer();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	public NotificationChain basicSetApplication(LayersStackApplication newApplication, NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject) newApplication, LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION, msgs);
+		msgs = eBasicSetContainer((InternalEObject)newApplication, LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION, msgs);
 		return msgs;
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public void setApplication(LayersStackApplication newApplication) {
 		if (newApplication != eInternalContainer() || (eContainerFeatureID() != LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION && newApplication != null)) {
-			if (EcoreUtil.isAncestor(this, newApplication)) {
-				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
-			}
+			if (EcoreUtil.isAncestor(this, newApplication))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
 			NotificationChain msgs = null;
-			if (eInternalContainer() != null) {
+			if (eInternalContainer() != null)
 				msgs = eBasicRemoveFromContainer(msgs);
-			}
-			if (newApplication != null) {
-				msgs = ((InternalEObject) newApplication).eInverseAdd(this, LayersPackage.LAYERS_STACK_APPLICATION__PROPERTY_SETTER_REGISTRY, LayersStackApplication.class, msgs);
-			}
+			if (newApplication != null)
+				msgs = ((InternalEObject)newApplication).eInverseAdd(this, LayersPackage.LAYERS_STACK_APPLICATION__PROPERTY_SETTER_REGISTRY, LayersStackApplication.class, msgs);
 			msgs = basicSetApplication(newApplication, msgs);
-			if (msgs != null) {
-				msgs.dispatch();
-			}
-		} else if (eNotificationRequired()) {
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION, newApplication, newApplication));
-		}
-
-
-		// update the list of PropertySetters
-		if (newApplication != null) {
-			List<Property> list = newApplication.getPropertyRegistry().getProperties();
-			((PropertyIndexedList<PropertySetter>) getPropertySetters()).setPropertyList(list);
-		}
-		;
-
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public PropertySetter getPropertySetter(Property property) throws NotFoundException {
-
-		try {
-			return getPropertySetters().get(property.getIndex());
-		} catch (IndexOutOfBoundsException e) {
-			// Try by name
-			PropertySetter setter = getPropertySetter(property.getName());
-			if (setter != null) {
-				return setter;
-			}
-			throw new NotFoundException("No setter found for property '" + property.getName() + "'");
-		}
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public PropertySetter getPropertySetter(String property) throws NotFoundException {
-		return getSetterMap().get(property);
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public void addPropertySetter(PropertySetter setter) {
-
-		String key = setter.getPropertyName();
-		if (key == null || key.length() == 0) {
-			throw new UnsupportedOperationException("Setter must have a valid name.");
-		}
-
-		getSetterMap().put(key, setter);
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
-			if (eInternalContainer() != null)
-				msgs = eBasicRemoveFromContainer(msgs);
-			return basicSetApplication((LayersStackApplication) otherEnd, msgs);
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetApplication((LayersStackApplication)otherEnd, msgs);
 		}
 		return super.eInverseAdd(otherEnd, featureID, msgs);
 	}
@@ -274,16 +217,15 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP:
-			return ((InternalEList<?>) getSetterMap()).basicRemove(otherEnd, msgs);
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
-			return basicSetApplication(null, msgs);
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP:
+				return ((InternalEList<?>)((EMap.InternalMapView<String, PropertySetter>)getSetterMap()).eMap()).basicRemove(otherEnd, msgs);
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
+				return basicSetApplication(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -291,14 +233,13 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
-			return eInternalContainer().eInverseRemove(this, LayersPackage.LAYERS_STACK_APPLICATION__PROPERTY_SETTER_REGISTRY, LayersStackApplication.class, msgs);
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
+				return eInternalContainer().eInverseRemove(this, LayersPackage.LAYERS_STACK_APPLICATION__PROPERTY_SETTER_REGISTRY, LayersStackApplication.class, msgs);
 		}
 		return super.eBasicRemoveFromContainerFeature(msgs);
 	}
@@ -306,21 +247,18 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS:
-			return getPropertySetters();
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP:
-			if (coreType)
-				return getSetterMap();
-			else
-				return getSetterMap().map();
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
-			return getApplication();
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS:
+				return getPropertySetters();
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP:
+				if (coreType) return ((EMap.InternalMapView<String, PropertySetter>)getSetterMap()).eMap();
+				else return getSetterMap();
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
+				return getApplication();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -328,23 +266,22 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS:
-			getPropertySetters().clear();
-			getPropertySetters().addAll((Collection<? extends PropertySetter>) newValue);
-			return;
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP:
-			((EStructuralFeature.Setting) getSetterMap()).set(newValue);
-			return;
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
-			setApplication((LayersStackApplication) newValue);
-			return;
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS:
+				getPropertySetters().clear();
+				getPropertySetters().addAll((Collection<? extends PropertySetter>)newValue);
+				return;
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP:
+				((EStructuralFeature.Setting)((EMap.InternalMapView<String, PropertySetter>)getSetterMap()).eMap()).set(newValue);
+				return;
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
+				setApplication((LayersStackApplication)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -352,21 +289,20 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS:
-			getPropertySetters().clear();
-			return;
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP:
-			getSetterMap().clear();
-			return;
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
-			setApplication((LayersStackApplication) null);
-			return;
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS:
+				getPropertySetters().clear();
+				return;
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP:
+				getSetterMap().clear();
+				return;
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
+				setApplication((LayersStackApplication)null);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -374,18 +310,17 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS:
-			return propertySetters != null && !propertySetters.isEmpty();
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP:
-			return setterMap != null && !setterMap.isEmpty();
-		case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
-			return getApplication() != null;
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS:
+				return propertySetters != null && !propertySetters.isEmpty();
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP:
+				return setterMap != null && !setterMap.isEmpty();
+			case LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION:
+				return getApplication() != null;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -393,29 +328,30 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
 		switch (operationID) {
-		case LayersPackage.PROPERTY_SETTER_REGISTRY___GET_PROPERTY_SETTER__PROPERTY:
-			try {
-				return getPropertySetter((Property) arguments.get(0));
-			} catch (Throwable throwable) {
-				throw new InvocationTargetException(throwable);
-			}
-		case LayersPackage.PROPERTY_SETTER_REGISTRY___GET_PROPERTY_SETTER__STRING:
-			try {
-				return getPropertySetter((String) arguments.get(0));
-			} catch (Throwable throwable) {
-				throw new InvocationTargetException(throwable);
-			}
-		case LayersPackage.PROPERTY_SETTER_REGISTRY___ADD_PROPERTY_SETTER__PROPERTYSETTER:
-			addPropertySetter((PropertySetter) arguments.get(0));
-			return null;
+			case LayersPackage.PROPERTY_SETTER_REGISTRY___GET_PROPERTY_SETTER__PROPERTY:
+				try {
+					return getPropertySetter((Property)arguments.get(0));
+				}
+				catch (Throwable throwable) {
+					throw new InvocationTargetException(throwable);
+				}
+			case LayersPackage.PROPERTY_SETTER_REGISTRY___GET_PROPERTY_SETTER__STRING:
+				try {
+					return getPropertySetter((String)arguments.get(0));
+				}
+				catch (Throwable throwable) {
+					throw new InvocationTargetException(throwable);
+				}
+			case LayersPackage.PROPERTY_SETTER_REGISTRY___ADD_PROPERTY_SETTER__PROPERTYSETTER:
+				addPropertySetter((PropertySetter)arguments.get(0));
+				return null;
 		}
 		return super.eInvoke(operationID, arguments);
 	}
 
-} // PropertySetterRegistryImpl
+} //PropertySetterRegistryImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/RegExpLayerDescriptorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/RegExpLayerDescriptorImpl.java
deleted file mode 100755
index c28f4f0..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/RegExpLayerDescriptorImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayerDescriptor;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Reg Exp Layer Descriptor</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class RegExpLayerDescriptorImpl extends LayerDescriptorImpl implements RegExpLayerDescriptor {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected RegExpLayerDescriptorImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.REG_EXP_LAYER_DESCRIPTOR;
-	}
-
-} // RegExpLayerDescriptorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/RegExpLayerImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/RegExpLayerImpl.java
deleted file mode 100755
index cbcb405..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/RegExpLayerImpl.java
+++ /dev/null
@@ -1,1077 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.query.conditions.eobjects.EObjectCondition;
-import org.eclipse.emf.query.statements.FROM;
-import org.eclipse.emf.query.statements.IQueryResult;
-import org.eclipse.emf.query.statements.SELECT;
-import org.eclipse.emf.query.statements.WHERE;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.ocl.ecore.OCL;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.exprmatcher.ExpressionMatcher;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.EventLevel;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier.DiagramViewEventNotifier;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier.IDiagramViewEventListener;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util.ObservableListView;
-
-import com.google.common.eventbus.Subscribe;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Reg Exp Layer</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl#getExpr <em>Expr</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl#getLanguage <em>Language</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl#isDomainChangedEventDependant <em>Is Domain Changed Event Dependant</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl#getDomainChangedEventLevel <em>Domain Changed Event Level</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl#isDiagramChangedEventDependant <em>Is Diagram Changed Event Dependant</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl#getDiagramChangedEventLevel <em>Diagram Changed Event Level</em>}</li>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.RegExpLayerImpl#getExpressionContextObjectType <em>Expression Context Object Type</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class RegExpLayerImpl extends AbstractLayerImpl implements RegExpLayer {
-	/**
-	 * The default value of the '{@link #getExpr() <em>Expr</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExpr()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String EXPR_EDEFAULT = null;
-	/**
-	 * The cached value of the '{@link #getExpr() <em>Expr</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExpr()
-	 * @generated
-	 * @ordered
-	 */
-	protected String expr = EXPR_EDEFAULT;
-	/**
-	 * The default value of the '{@link #getLanguage() <em>Language</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLanguage()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String LANGUAGE_EDEFAULT = null;
-	/**
-	 * The cached value of the '{@link #getLanguage() <em>Language</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLanguage()
-	 * @generated
-	 * @ordered
-	 */
-	protected String language = LANGUAGE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isDomainChangedEventDependant() <em>Is Domain Changed Event Dependant</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDomainChangedEventDependant()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean IS_DOMAIN_CHANGED_EVENT_DEPENDANT_EDEFAULT = false;
-	/**
-	 * The cached value of the '{@link #isDomainChangedEventDependant() <em>Is Domain Changed Event Dependant</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDomainChangedEventDependant()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean isDomainChangedEventDependant = IS_DOMAIN_CHANGED_EVENT_DEPENDANT_EDEFAULT;
-	/**
-	 * The default value of the '{@link #getDomainChangedEventLevel() <em>Domain Changed Event Level</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDomainChangedEventLevel()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final EventLevel DOMAIN_CHANGED_EVENT_LEVEL_EDEFAULT = EventLevel.LEVEL1;
-	/**
-	 * The cached value of the '{@link #getDomainChangedEventLevel() <em>Domain Changed Event Level</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDomainChangedEventLevel()
-	 * @generated
-	 * @ordered
-	 */
-	protected EventLevel domainChangedEventLevel = DOMAIN_CHANGED_EVENT_LEVEL_EDEFAULT;
-	/**
-	 * The default value of the '{@link #isDiagramChangedEventDependant() <em>Is Diagram Changed Event Dependant</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDiagramChangedEventDependant()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean IS_DIAGRAM_CHANGED_EVENT_DEPENDANT_EDEFAULT = false;
-	/**
-	 * The cached value of the '{@link #isDiagramChangedEventDependant() <em>Is Diagram Changed Event Dependant</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isDiagramChangedEventDependant()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean isDiagramChangedEventDependant = IS_DIAGRAM_CHANGED_EVENT_DEPENDANT_EDEFAULT;
-	/**
-	 * The default value of the '{@link #getDiagramChangedEventLevel() <em>Diagram Changed Event Level</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDiagramChangedEventLevel()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final EventLevel DIAGRAM_CHANGED_EVENT_LEVEL_EDEFAULT = EventLevel.LEVEL1;
-	/**
-	 * The cached value of the '{@link #getDiagramChangedEventLevel() <em>Diagram Changed Event Level</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDiagramChangedEventLevel()
-	 * @generated
-	 * @ordered
-	 */
-	protected EventLevel diagramChangedEventLevel = DIAGRAM_CHANGED_EVENT_LEVEL_EDEFAULT;
-	/**
-	 * The default value of the '{@link #getExpressionContextObjectType() <em>Expression Context Object Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExpressionContextObjectType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String EXPRESSION_CONTEXT_OBJECT_TYPE_EDEFAULT = null;
-	/**
-	 * The cached value of the '{@link #getExpressionContextObjectType() <em>Expression Context Object Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExpressionContextObjectType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String expressionContextObjectType = EXPRESSION_CONTEXT_OBJECT_TYPE_EDEFAULT;
-
-	protected DiagramViewEventNotifier diagramViewEventNotifier;
-
-	/**
-	 * Expression matcher computing the expr, and firing events when the matching elements change.
-	 */
-	protected ExpressionMatcher expressionMatcher;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected RegExpLayerImpl() {
-		super();
-
-		// Initialize expressionmatcher
-		// The expression Macher use this class views list.
-		// When expressionMatcher::refreshMatchingElements() is called, the provided list is refreshed.
-		// So, views is synchronized and events are fired.
-		expressionMatcher = new ExpressionMatcher(getViews());
-		resetExpressionMatcherRoots();
-
-	}
-
-	/**
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AbstractLayerImpl#startBehaviors()
-	 *
-	 */
-	@Override
-	protected void startBehaviors() {
-		// TODO Auto-generated method stub
-		super.startBehaviors();
-	}
-
-	/**
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#startAfterReloading()
-	 *
-	 */
-	@Override
-	public void startAfterReloading() {
-		// TODO Auto-generated method stub
-		super.startAfterReloading();
-	}
-
-	/**
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#attachToLayersStack(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack)
-	 *
-	 * @param owningLayersStack
-	 */
-	@Override
-	public void attachToLayersStack(LayersStack owningLayersStack) {
-		// TODO Auto-generated method stub
-		super.attachToLayersStack(owningLayersStack);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.REG_EXP_LAYER;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getExpr() {
-		return expr;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setExpr(String newExpr) {
-		String oldExpr = expr;
-		expr = newExpr;
-		// Try to set the expression
-		try {
-			// Check synchro between RegExp::views and ExpressionMatcher::matchingElements
-			// they can be unsync after the model was loaded by EMF
-			checkViewsAndMatchingElementsSync();
-			// First, reset expr roots. Do it because actually the roots are not properly set.
-			resetExpressionMatcherRoots();
-			// Change the expression, and recompute the matching elements.
-			expressionMatcher.setExpression(newExpr);
-			expressionMatcher.refreshMatchingElements();
-		} catch (LayersException e) {
-			// silently fails, but log the error.
-			log.error("Error - " + this.getClass().getSimpleName() + " - " + e.getMessage(), e);
-		}
-		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.REG_EXP_LAYER__EXPR, oldExpr, expr));
-		}
-	}
-
-	/**
-	 * Check synchro between RegExp::views and ExpressionMatcher::matchingElements
-	 * they can be unsync after the model was loaded by EMF.
-	 * <b>
-	 * This method is used to correct the bug where both list are unsync after the model was loaded by EMF.
-	 *
-	 * @Deprecated Not needed anymore
-	 */
-	private void checkViewsAndMatchingElementsSync() {
-
-		// // Check if both list have the same size.
-		// // We don't to check the content, because we want a quick check
-		// // Actually, unsync appear only after the model was reloded by EMF.
-		// if( getViews().size() == expressionMatcher.getMatchingElements().size() ) {
-		// // ok
-		// return;
-		// }
-		//
-		// // Sync is required
-		// List<View> matchElements = expressionMatcher.getMatchingElements().getUnnotifyingList();
-		// matchElements.clear();
-		// matchElements.addAll(getViews());
-
-	}
-
-	/**
-	 * OCL Condition computed from the expr.
-	 */
-	protected EObjectCondition condition;
-	protected OCL ocl;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getLanguage() {
-		return language;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setLanguage(String newLanguage) {
-		String oldLanguage = language;
-		language = newLanguage;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.REG_EXP_LAYER__LANGUAGE, oldLanguage, language));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean isDomainChangedEventDependant() {
-		return isDomainChangedEventDependant;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setIsDomainChangedEventDependant(boolean newIsDomainChangedEventDependant) {
-		boolean oldIsDomainChangedEventDependant = isDomainChangedEventDependant;
-		isDomainChangedEventDependant = newIsDomainChangedEventDependant;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT, oldIsDomainChangedEventDependant, isDomainChangedEventDependant));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EventLevel getDomainChangedEventLevel() {
-		return domainChangedEventLevel;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setDomainChangedEventLevel(EventLevel newDomainChangedEventLevel) {
-		EventLevel oldDomainChangedEventLevel = domainChangedEventLevel;
-		domainChangedEventLevel = newDomainChangedEventLevel == null ? DOMAIN_CHANGED_EVENT_LEVEL_EDEFAULT : newDomainChangedEventLevel;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL, oldDomainChangedEventLevel, domainChangedEventLevel));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean isDiagramChangedEventDependant() {
-		return isDiagramChangedEventDependant;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setIsDiagramChangedEventDependant(boolean newIsDiagramChangedEventDependant) {
-		boolean oldIsDiagramChangedEventDependant = isDiagramChangedEventDependant;
-		isDiagramChangedEventDependant = newIsDiagramChangedEventDependant;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT, oldIsDiagramChangedEventDependant, isDiagramChangedEventDependant));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EventLevel getDiagramChangedEventLevel() {
-		return diagramChangedEventLevel;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setDiagramChangedEventLevel(EventLevel newDiagramChangedEventLevel) {
-		EventLevel oldDiagramChangedEventLevel = diagramChangedEventLevel;
-		diagramChangedEventLevel = newDiagramChangedEventLevel == null ? DIAGRAM_CHANGED_EVENT_LEVEL_EDEFAULT : newDiagramChangedEventLevel;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL, oldDiagramChangedEventLevel, diagramChangedEventLevel));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getExpressionContextObjectType() {
-		return expressionContextObjectType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setExpressionContextObjectType(String newExpressionContextObjectType) {
-		String oldExpressionContextObjectType = expressionContextObjectType;
-		expressionContextObjectType = newExpressionContextObjectType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE, oldExpressionContextObjectType, expressionContextObjectType));
-	}
-
-	/**
-	 * Listener on {@link ObservableListView} eventBus. This method is called each time a change occurs in the
-	 * result of the expression.
-	 * When the result change, the list of attached views is updated accordingly.
-	 *
-	 *
-	 * @param event
-	 */
-	@Subscribe
-	public void expressionResultChanged(ObservableListView<View>.ObservableListEvent event) {
-
-		if (log.isDebugEnabled()) {
-			log.debug(this.getClass().getSimpleName() + ".expressionResultChanged()");
-		}
-
-
-		if (!event.getAddedElements().isEmpty()) {
-			getViews().addAll(event.getAddedElements());
-		}
-		if (!event.getRemovedElements().isEmpty()) {
-			getViews().removeAll(event.getRemovedElements());
-		}
-
-	}
-
-	/**
-	 * This layer has just been added to a LayerStack.
-	 * Set the root of the expression.
-	 * Set the views to match the result of the expression.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#initLayer(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack)
-	 *
-	 * @param owningLayersStack
-	 */
-	@Override
-	public void initLayer(LayersStack owningLayersStack) {
-		super.initLayer(owningLayersStack);
-
-		resetExpressionMatcherRoots();
-		checkViewsAndMatchingElementsSync();
-
-		// // Synchronize the layer views with the result of expressionMatcher.
-		// // Try to minimize the number of events.
-		// // For that, freeze temporarily the events from this layer
-		// // Refresh the result and reset the views list while events are disabled.
-		// boolean isDeliveringEvents = eDeliver();
-		// eSetDeliver(false);
-		//
-		// expressionMatcher.refreshMatchingElements();
-		// List<View> toAdd = expressionMatcher.getMatchingElements();
-		// if( !toAdd.isEmpty() ) {
-		// getViews().clear();
-		// }
-		//
-		// // Reenable events
-		// eSetDeliver(true);
-		//
-		// // Set the views
-		//
-		// if( !toAdd.isEmpty() ) {
-		// getViews().addAll(expressionMatcher.getMatchingElements());
-		// }
-		// else {
-		// // If there is nothing to add, clear the list, in order to send appropriate event.
-		// getViews().clear();
-		// }
-
-
-	}
-
-	/**
-	 * Check if the associated Diagram has changed, and if true, change it in the ExpressionMatcher.
-	 * This does not compute the result.
-	 */
-	private void resetExpressionMatcherRoots() {
-
-		try {
-			expressionMatcher.setSearchRoots(getLayersStack().getDiagram());
-		} catch (NotFoundException e) {
-			// layerStack not found ==> no roots
-			expressionMatcher.setSearchRoots(Collections.EMPTY_LIST);
-		}
-
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param newLayerParent
-	 * @generated NOT
-	 * @deprecated not used
-	 */
-	@Deprecated
-	@Override
-	public void activate(AbstractLayerOperator newLayerParent) {
-
-		// LayersStack layersStack;
-		// try {
-		// layersStack = newLayerParent.getLayersStack();
-		// } catch (NotFoundException e) {
-		// // silently fails
-		// return;
-		// }
-		//
-		// // Listen on view events
-		// if(diagramViewEventNotifier == null) {
-		// diagramViewEventNotifier = new DiagramViewEventNotifier(layersStack.getDiagram());
-		// return;
-		// }
-
-		// diagramViewEventNotifier.
-
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @param oldParentLayer
-	 * @generated NOT
-	 * @deprecated
-	 */
-	@Deprecated
-	@Override
-	public void deactivate(AbstractLayerOperator oldParentLayer) {
-
-		// if( oldParentLayer == null) {
-		// return;
-		// }
-		//
-		// LayersStack layersStack;
-		// try {
-		// layersStack = oldParentLayer.getLayersStack();
-		// } catch (NotFoundException e) {
-		// // silently fails
-		// return;
-		// }
-		//
-		// layersStack.getDiagram();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public boolean isDerivedView(View view) throws LayersException {
-
-		if (condition == null) {
-			return false;
-		}
-
-		// Create the OCL statement
-		SELECT statement = new SELECT(SELECT.UNBOUNDED, false,
-				new FROM(view), new WHERE(condition),
-				new NullProgressMonitor());
-
-		// Execute the OCL statement
-		IQueryResult results = statement.execute();
-
-		// the view is derived if the condition match the view.
-		return !results.isEmpty();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Check if the view satisfy the expr condition.
-	 * If the condition is satisfied, ensure that the view is attached.
-	 * If the condition is not satisfied, ensure that the view is not attached.
-	 *
-	 *
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void attachDerivedView(View view) throws LayersException {
-		// TODO: implement this method
-		if (condition == null) {
-			return;
-		}
-
-		// Create the OCL statement
-		SELECT statement = new SELECT(SELECT.UNBOUNDED, false,
-				new FROM(view), new WHERE(condition),
-				new NullProgressMonitor());
-
-		// Execute the OCL statement
-		IQueryResult results = statement.execute();
-
-		//
-		if (!results.isEmpty()) {
-			// The condition is satisfied. Ensure the view is attached
-			List<View> attachedViews = getViews();
-			if (attachedViews.contains(view)) {
-				return;
-			}
-			attachedViews.add(view);
-		} else {
-			// The condition is not satisfied. Ensure the view is not attached.
-			getViews().remove(view);
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Attach each view that satisfy the condition.
-	 * Detach each view that do not satisfy the condition.
-	 * TODO rename to updateDerivedViews() ?
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void attachDerivedViews(EList<View> views) throws LayersException {
-
-		if (condition == null) {
-			return;
-		}
-
-		// Create the OCL statement
-		SELECT statement = new SELECT(SELECT.UNBOUNDED, false,
-				new FROM(views), new WHERE(condition),
-				new NullProgressMonitor());
-
-		// Execute the OCL statement
-		IQueryResult results = statement.execute();
-
-		// viewsToCheck
-		// attachedViews -- list of views that are attached
-		// -- getViews()
-		// viewsToAttach -- list of views that should be attached
-		// -- query result
-		// toAdd - views that are in viewsToAttach, but not in attachedViews
-		// --
-		// toRemove - views that are in attachedViews, and viewsToCheck, but not in viewsToAttach
-
-		// Compute views to add
-		// This are views in the result, but not in the list of attached
-		// viewsToAdd = results - getViews()
-		List<View> viewsToAdd = new ArrayList<View>();
-		List<View> attachedViews = getViews();
-		for (Object o : results) {
-			View v = (View) o;
-			if (!attachedViews.contains(v)) {
-				viewsToAdd.add(v);
-			}
-		}
-
-		// Compute views to remove
-		// Their is two ways to compute it:
-		// - viewsToremove = diagramViews - results
-		// - or viewsToremove = getViews() - result
-		// Use the cheaper one.
-		// The computed viewsToRemove list contains also views that are not in the layer,
-		// But this is cheaper than checking for the existence.
-
-		List<View> viewsToRemove = new ArrayList<View>();
-		for (View v : (views.size() < getViews().size() ? views : getViews())) {
-			if (!results.contains(v)) {
-				viewsToRemove.add(v);
-			}
-		}
-
-		// Do operations
-		getViews().removeAll(viewsToRemove);
-		getViews().addAll(viewsToAdd);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * Update all views directly own by the diagram.
-	 *
-	 * If a view satisfy the expr condition, attach it to the Layer.
-	 * Remove all others view from the layer. <br>
-	 * To avoid multiple events, we compute the list of views to remove from the layer, and the list
-	 * of views to add to layer. Then, we preform two operations; removeAll(toRemove) and addAll(toAdd);
-	 *
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void attachDerivedViews() throws LayersException {
-
-		if (condition == null) {
-			return;
-		}
-
-		// Check views from the diagram.
-		@SuppressWarnings("unchecked")
-		EList<View> diagramViews = getLayersStack().getDiagram().getChildren();
-
-		// Create the OCL statement
-		SELECT statement = new SELECT(SELECT.UNBOUNDED, false,
-				new FROM(diagramViews), new WHERE(condition),
-				new NullProgressMonitor());
-
-		// Execute the OCL statement
-		IQueryResult results = statement.execute();
-
-		// Compute views to add
-		// This are views in the result, but not in the list of attached
-		// viewsToAdd = results - getViews()
-		List<View> viewsToAdd = new ArrayList<View>();
-		List<View> attachedViews = getViews();
-		for (Object o : results) {
-			View v = (View) o;
-			if (!attachedViews.contains(v)) {
-				viewsToAdd.add(v);
-			}
-		}
-
-		// Compute views to remove
-		// Their is two ways to compute it:
-		// - viewsToremove = diagramViews - results
-		// - or viewsToremove = getViews() - result
-		// Use the cheaper one.
-		// The computed viewsToRemove list contains also views that are not in the layer,
-		// But this is cheaper than checking for the existence.
-
-		// List<View> viewsToRemove = new ArrayList<View>();
-		// for( View v : (views.size()<getViews().size()?views:getViews()) ) {
-		// if( !results.contains(v)) {
-		// viewsToRemove.add(v);
-		// }
-		// }
-
-		// Do operations
-		getViews().retainAll(results);
-		// getViews().removeAll(viewsToRemove);
-		getViews().addAll(viewsToAdd);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public EList<View> lookupDerivedViews(EList<View> views) throws LayersException {
-		// if(condition == null) {
-		// return EList.EMPTY_LIST;
-		// }
-		//
-		// // Check views from the diagram.
-		// @SuppressWarnings("unchecked")
-		// EList<View> diagramViews = (EList<View>)getLayersStack().getDiagram().getChildren();
-		//
-		// // Create the OCL statement
-		// SELECT statement = new SELECT(SELECT.UNBOUNDED, false,
-		// new FROM(diagramViews), new WHERE(condition),
-		// new NullProgressMonitor());
-		//
-		// // Execute the OCL statement
-		// IQueryResult results = statement.execute();
-		// return new ;
-		return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case LayersPackage.REG_EXP_LAYER__EXPR:
-				return getExpr();
-			case LayersPackage.REG_EXP_LAYER__LANGUAGE:
-				return getLanguage();
-			case LayersPackage.REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT:
-				return isDomainChangedEventDependant();
-			case LayersPackage.REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL:
-				return getDomainChangedEventLevel();
-			case LayersPackage.REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT:
-				return isDiagramChangedEventDependant();
-			case LayersPackage.REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL:
-				return getDiagramChangedEventLevel();
-			case LayersPackage.REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE:
-				return getExpressionContextObjectType();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.REG_EXP_LAYER__EXPR:
-				setExpr((String)newValue);
-				return;
-			case LayersPackage.REG_EXP_LAYER__LANGUAGE:
-				setLanguage((String)newValue);
-				return;
-			case LayersPackage.REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT:
-				setIsDomainChangedEventDependant((Boolean)newValue);
-				return;
-			case LayersPackage.REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL:
-				setDomainChangedEventLevel((EventLevel)newValue);
-				return;
-			case LayersPackage.REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT:
-				setIsDiagramChangedEventDependant((Boolean)newValue);
-				return;
-			case LayersPackage.REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL:
-				setDiagramChangedEventLevel((EventLevel)newValue);
-				return;
-			case LayersPackage.REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE:
-				setExpressionContextObjectType((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.REG_EXP_LAYER__EXPR:
-				setExpr(EXPR_EDEFAULT);
-				return;
-			case LayersPackage.REG_EXP_LAYER__LANGUAGE:
-				setLanguage(LANGUAGE_EDEFAULT);
-				return;
-			case LayersPackage.REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT:
-				setIsDomainChangedEventDependant(IS_DOMAIN_CHANGED_EVENT_DEPENDANT_EDEFAULT);
-				return;
-			case LayersPackage.REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL:
-				setDomainChangedEventLevel(DOMAIN_CHANGED_EVENT_LEVEL_EDEFAULT);
-				return;
-			case LayersPackage.REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT:
-				setIsDiagramChangedEventDependant(IS_DIAGRAM_CHANGED_EVENT_DEPENDANT_EDEFAULT);
-				return;
-			case LayersPackage.REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL:
-				setDiagramChangedEventLevel(DIAGRAM_CHANGED_EVENT_LEVEL_EDEFAULT);
-				return;
-			case LayersPackage.REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE:
-				setExpressionContextObjectType(EXPRESSION_CONTEXT_OBJECT_TYPE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.REG_EXP_LAYER__EXPR:
-				return EXPR_EDEFAULT == null ? expr != null : !EXPR_EDEFAULT.equals(expr);
-			case LayersPackage.REG_EXP_LAYER__LANGUAGE:
-				return LANGUAGE_EDEFAULT == null ? language != null : !LANGUAGE_EDEFAULT.equals(language);
-			case LayersPackage.REG_EXP_LAYER__IS_DOMAIN_CHANGED_EVENT_DEPENDANT:
-				return isDomainChangedEventDependant != IS_DOMAIN_CHANGED_EVENT_DEPENDANT_EDEFAULT;
-			case LayersPackage.REG_EXP_LAYER__DOMAIN_CHANGED_EVENT_LEVEL:
-				return domainChangedEventLevel != DOMAIN_CHANGED_EVENT_LEVEL_EDEFAULT;
-			case LayersPackage.REG_EXP_LAYER__IS_DIAGRAM_CHANGED_EVENT_DEPENDANT:
-				return isDiagramChangedEventDependant != IS_DIAGRAM_CHANGED_EVENT_DEPENDANT_EDEFAULT;
-			case LayersPackage.REG_EXP_LAYER__DIAGRAM_CHANGED_EVENT_LEVEL:
-				return diagramChangedEventLevel != DIAGRAM_CHANGED_EVENT_LEVEL_EDEFAULT;
-			case LayersPackage.REG_EXP_LAYER__EXPRESSION_CONTEXT_OBJECT_TYPE:
-				return EXPRESSION_CONTEXT_OBJECT_TYPE_EDEFAULT == null ? expressionContextObjectType != null : !EXPRESSION_CONTEXT_OBJECT_TYPE_EDEFAULT.equals(expressionContextObjectType);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	@SuppressWarnings("unchecked")
-	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
-		switch (operationID) {
-			case LayersPackage.REG_EXP_LAYER___ACTIVATE__ABSTRACTLAYEROPERATOR:
-				activate((AbstractLayerOperator)arguments.get(0));
-				return null;
-			case LayersPackage.REG_EXP_LAYER___DEACTIVATE__ABSTRACTLAYEROPERATOR:
-				deactivate((AbstractLayerOperator)arguments.get(0));
-				return null;
-			case LayersPackage.REG_EXP_LAYER___IS_DERIVED_VIEW__VIEW:
-				try {
-					return isDerivedView((View)arguments.get(0));
-				}
-				catch (Throwable throwable) {
-					throw new InvocationTargetException(throwable);
-				}
-			case LayersPackage.REG_EXP_LAYER___ATTACH_DERIVED_VIEW__VIEW:
-				try {
-					attachDerivedView((View)arguments.get(0));
-					return null;
-				}
-				catch (Throwable throwable) {
-					throw new InvocationTargetException(throwable);
-				}
-			case LayersPackage.REG_EXP_LAYER___ATTACH_DERIVED_VIEWS__ELIST:
-				try {
-					attachDerivedViews((EList<View>)arguments.get(0));
-					return null;
-				}
-				catch (Throwable throwable) {
-					throw new InvocationTargetException(throwable);
-				}
-			case LayersPackage.REG_EXP_LAYER___ATTACH_DERIVED_VIEWS:
-				try {
-					attachDerivedViews();
-					return null;
-				}
-				catch (Throwable throwable) {
-					throw new InvocationTargetException(throwable);
-				}
-			case LayersPackage.REG_EXP_LAYER___LOOKUP_DERIVED_VIEWS__ELIST:
-				try {
-					return lookupDerivedViews((EList<View>)arguments.get(0));
-				}
-				catch (Throwable throwable) {
-					throw new InvocationTargetException(throwable);
-				}
-		}
-		return super.eInvoke(operationID, arguments);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (expr: "); //$NON-NLS-1$
-		result.append(expr);
-		result.append(", language: "); //$NON-NLS-1$
-		result.append(language);
-		result.append(", isDomainChangedEventDependant: "); //$NON-NLS-1$
-		result.append(isDomainChangedEventDependant);
-		result.append(", domainChangedEventLevel: "); //$NON-NLS-1$
-		result.append(domainChangedEventLevel);
-		result.append(", isDiagramChangedEventDependant: "); //$NON-NLS-1$
-		result.append(isDiagramChangedEventDependant);
-		result.append(", diagramChangedEventLevel: "); //$NON-NLS-1$
-		result.append(diagramChangedEventLevel);
-		result.append(", expressionContextObjectType: "); //$NON-NLS-1$
-		result.append(expressionContextObjectType);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * Called by the observers when a view is added.
-	 *
-	 * @param view
-	 */
-	protected void viewAdded(View view) {
-
-	}
-
-	/**
-	 * Called by the observers when a view is removed.
-	 *
-	 * @param view
-	 */
-	protected void viewRemoved(View view) {
-
-	}
-
-	// public class ViewEventAdapter extends {
-	//
-	// }
-
-	public class DiagramViewEventListener implements IDiagramViewEventListener {
-
-		@Override
-		public void diagramViewAdded(Notification msg) {
-			viewAdded((View) msg.getNewValue());
-
-		}
-
-		@Override
-		public void diagramViewRemoved(Notification msg) {
-			viewRemoved((View) msg.getNewValue());
-		}
-
-	}
-
-} // RegExpLayerImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/SimpleLayerDescriptorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/SimpleLayerDescriptorImpl.java
index 1158fe9..aba05ad 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/SimpleLayerDescriptorImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/SimpleLayerDescriptorImpl.java
@@ -1,18 +1,20 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.SimpleLayerDescriptor;
 
@@ -43,4 +45,4 @@
 		return LayersPackage.Literals.SIMPLE_LAYER_DESCRIPTOR;
 	}
 
-} // SimpleLayerDescriptorImpl
+} //SimpleLayerDescriptorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StackedLayerOperatorDescriptorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StackedLayerOperatorDescriptorImpl.java
index ec325c4..e8ad6ea 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StackedLayerOperatorDescriptorImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StackedLayerOperatorDescriptorImpl.java
@@ -1,22 +1,21 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperatorDescriptor;
 
 /**
@@ -30,44 +29,10 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated not
+	 * @generated
 	 */
 	protected StackedLayerOperatorDescriptorImpl() {
 		super();
-		init();
-	}
-
-	/**
-	 * Init the descriptor.
-	 */
-	private void init() {
-		setName("StackedLayerOperator");
-
-	}
-
-	/**
-	 * New instance creation counter.
-	 */
-	static int count = 0;
-
-	/**
-	 * Create the requested {@link StackedLayerOperator} and init it.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorDescriptorImpl#createLayerOperator()
-	 *
-	 * @return
-	 */
-	@Override
-	public AbstractLayerOperator createLayerOperator() {
-
-
-		StackedLayerOperator layerOperator = LayersFactory.eINSTANCE.createStackedLayerOperator();
-		layerOperator.setLayerOperatorDescriptor(this);
-		layerOperator.setLayerOperatorDescriptorName(this.getName());
-		layerOperator.setName(getName() + count++);
-
-		return layerOperator;
 	}
 
 	/**
@@ -80,4 +45,4 @@
 		return LayersPackage.Literals.STACKED_LAYER_OPERATOR_DESCRIPTOR;
 	}
 
-} // StackedLayerOperatorDescriptorImpl
+} //StackedLayerOperatorDescriptorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StackedLayerOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StackedLayerOperatorImpl.java
index 0e0bf8d..40a7f81 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StackedLayerOperatorImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StackedLayerOperatorImpl.java
@@ -1,26 +1,20 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
-import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayer;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator;
 
@@ -31,20 +25,14 @@
  *
  * @generated
  */
-public class StackedLayerOperatorImpl extends AbstractLayerOperatorImpl implements StackedLayerOperator {
-
+public class StackedLayerOperatorImpl extends LayerOperatorImpl implements StackedLayerOperator {
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected StackedLayerOperatorImpl() {
 		super();
-
-		// Add an observer
-		Adapter adapter = new LayerDescriptorSynchronizer();
-		this.eAdapters().add(adapter);
 	}
 
 	/**
@@ -57,97 +45,4 @@
 		return LayersPackage.Literals.STACKED_LAYER_OPERATOR;
 	}
 
-	/**
-	 * Reset the descriptor accordingly to the descriptor name.
-	 * The descriptor is resseted only if the ::application and ::layerOperatorDescriptorName are set.
-	 * Nothing is done if one of the attribute is not set.
-	 * Nothing is done if the descriptor can not be found (maybe a log is issue).
-	 * <!-- begin-user-doc -->
-	 * Not used ?
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void resetDescriptor() {
-
-		if (getApplication() == null || getLayerOperatorDescriptorName() == null) {
-			// A property is not yet set.
-			// do nothing
-			return;
-		}
-
-		try {
-			LayerOperatorDescriptor descriptor = getApplication().getLayerOperatorDescriptorRegistry().getLayerOperatorDescriptor(getLayerOperatorDescriptorName());
-			setLayerOperatorDescriptor(descriptor);
-		} catch (NotFoundException e) {
-			// Not found
-			log.error(this.getClass().getName()
-					+ "- Can't get LayerOperatorDescriptor for descriptorName '" + getLayerOperatorDescriptorName() + "'.", e);
-		}
-	}
-
-	/**
-	 * This class listen to #propertyValueMap, and synchronize propertyValues accordingly.
-	 *
-	 *
-	 */
-	public class LayerDescriptorSynchronizer extends AdapterImpl {
-
-		@Override
-		public void notifyChanged(Notification msg) {
-			// System.err.println("event " + msg.getEventType());
-
-			switch (msg.getFeatureID(AbstractLayer.class)) {
-			case LayersPackage.STACKED_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
-				notifyDescriptorNameChanged(msg);
-				break;
-
-			case LayersPackage.STACKED_LAYER_OPERATOR__APPLICATION:
-				notifyLayerApplicationFeatureChanged(msg);
-				break;
-
-			default:
-				break;
-			}
-		}
-
-		/**
-		 * The {@link LayerImpl#propertyValueMap} has changed. Synchronize the {@link LayerImpl#propertyValues} list.
-		 *
-		 * @param msg
-		 */
-		protected void notifyDescriptorNameChanged(Notification msg) {
-			// System.err.println("descriptor name changed " + msg.getEventType());
-			switch (msg.getEventType()) {
-			case Notification.SET: {
-				// Name is set
-				resetDescriptor();
-				break;
-			}
-			default:
-				break;
-			}
-
-		}
-
-		/**
-		 * The {@link LayerImpl#propertyValueMap} has changed. Synchronize the {@link LayerImpl#propertyValues} list.
-		 *
-		 * @param msg
-		 */
-		protected void notifyLayerApplicationFeatureChanged(Notification msg) {
-			// System.err.println("application changed " + msg.getEventType());
-			switch (msg.getEventType()) {
-			case Notification.SET: {
-				// Application is set
-				resetDescriptor();
-				break;
-			}
-			}
-		}
-
-	}
-
-
-} // StackedLayerOperatorImpl
+} //StackedLayerOperatorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringInstanceImpl.java
deleted file mode 100755
index a99d5fe..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringInstanceImpl.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>String Instance</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringInstanceImpl#getValue <em>Value</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class StringInstanceImpl extends TypeInstanceImpl implements StringInstance {
-	/**
-	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String VALUE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected String value = VALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected StringInstanceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.STRING_INSTANCE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setValue(String newValue) {
-		String oldValue = value;
-		value = newValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.STRING_INSTANCE__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case LayersPackage.STRING_INSTANCE__VALUE:
-				return getValue();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case LayersPackage.STRING_INSTANCE__VALUE:
-				setValue((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case LayersPackage.STRING_INSTANCE__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case LayersPackage.STRING_INSTANCE__VALUE:
-				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromString(String value) {
-
-		if (value == null || value.length() == 0) {
-			return;
-		}
-
-		setValue(value.trim());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public void setValueFromInstance(TypeInstance value) {
-
-		// Check if the value is of the right instance
-		if (!getClass().isInstance(value)) {
-			return;
-		}
-
-		StringInstance instance = (StringInstance) value;
-		setValue(instance.getValue());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (value: "); //$NON-NLS-1$
-		result.append(value);
-		result.append(')');
-		return result.toString();
-	}
-
-} // StringInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToPropertyIndexMapImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToPropertyIndexMapImpl.java
index 4af9202..37736c5 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToPropertyIndexMapImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToPropertyIndexMapImpl.java
@@ -1,26 +1,31 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.common.util.BasicEMap;
 import org.eclipse.emf.common.util.EMap;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyIndex;
 
@@ -243,7 +248,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (key: "); //$NON-NLS-1$
 		result.append(key);
 		result.append(')');
@@ -262,7 +267,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public int getHash() {
 		if (hash == -1) {
 			Object theKey = getKey();
@@ -276,7 +280,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setHash(int hash) {
 		this.hash = hash;
 	}
@@ -286,7 +289,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getKey() {
 		return getTypedKey();
 	}
@@ -296,7 +298,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setKey(String key) {
 		setTypedKey(key);
 	}
@@ -306,7 +307,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public PropertyIndex getValue() {
 		return getTypedValue();
 	}
@@ -316,7 +316,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public PropertyIndex setValue(PropertyIndex value) {
 		PropertyIndex oldValue = getValue();
 		setTypedValue(value);
@@ -334,4 +333,4 @@
 		return container == null ? null : (EMap<String, PropertyIndex>)container.eGet(eContainmentFeature());
 	}
 
-} // StringToPropertyIndexMapImpl
+} //StringToPropertyIndexMapImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToPropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToPropertySetterImpl.java
index 9ad299f..0ddb05a 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToPropertySetterImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToPropertySetterImpl.java
@@ -1,26 +1,31 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.common.util.BasicEMap;
 import org.eclipse.emf.common.util.EMap;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter;
 
@@ -243,7 +248,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (key: "); //$NON-NLS-1$
 		result.append(key);
 		result.append(')');
@@ -262,7 +267,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public int getHash() {
 		if (hash == -1) {
 			Object theKey = getKey();
@@ -276,7 +280,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setHash(int hash) {
 		this.hash = hash;
 	}
@@ -286,7 +289,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getKey() {
 		return getTypedKey();
 	}
@@ -296,7 +298,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setKey(String key) {
 		setTypedKey(key);
 	}
@@ -306,7 +307,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public PropertySetter getValue() {
 		return getTypedValue();
 	}
@@ -316,7 +316,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public PropertySetter setValue(PropertySetter value) {
 		PropertySetter oldValue = getValue();
 		setTypedValue(value);
@@ -334,4 +333,4 @@
 		return container == null ? null : (EMap<String, PropertySetter>)container.eGet(eContainmentFeature());
 	}
 
-} // StringToPropertySetterImpl
+} //StringToPropertySetterImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToTypeInstanceMapImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToTypeInstanceMapImpl.java
index c2518d0..9284b1d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToTypeInstanceMapImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToTypeInstanceMapImpl.java
@@ -1,26 +1,31 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.common.util.BasicEMap;
 import org.eclipse.emf.common.util.EMap;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
 
@@ -172,59 +177,6 @@
 	 * @generated
 	 */
 	@Override
-	public String getKey() {
-		return getTypedKey();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setKey(String key) {
-		setTypedKey(key);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public TypeInstance getValue() {
-		return getTypedValue();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public TypeInstance setValue(TypeInstance value) {
-		TypeInstance oldValue = getValue();
-		setTypedValue(value);
-		return oldValue;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	public EMap<String, TypeInstance> getEMap() {
-		EObject container = eContainer();
-		return container == null ? null : (EMap<String, TypeInstance>)container.eGet(eContainmentFeature());
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
 			case LayersPackage.STRING_TO_TYPE_INSTANCE_MAP__KEY:
@@ -296,7 +248,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (key: "); //$NON-NLS-1$
 		result.append(key);
 		result.append(')');
@@ -315,7 +267,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public int getHash() {
 		if (hash == -1) {
 			Object theKey = getKey();
@@ -329,9 +280,57 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setHash(int hash) {
 		this.hash = hash;
 	}
 
-} // StringToTypeInstanceMapImpl
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getKey() {
+		return getTypedKey();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setKey(String key) {
+		setTypedKey(key);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TypeInstance getValue() {
+		return getTypedValue();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TypeInstance setValue(TypeInstance value) {
+		TypeInstance oldValue = getValue();
+		setTypedValue(value);
+		return oldValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	public EMap<String, TypeInstance> getEMap() {
+		EObject container = eContainer();
+		return container == null ? null : (EMap<String, TypeInstance>)container.eGet(eContainmentFeature());
+	}
+
+} //StringToTypeInstanceMapImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToTypeMapImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToTypeMapImpl.java
index 32d7a23..b193540 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToTypeMapImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringToTypeMapImpl.java
@@ -1,26 +1,31 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.common.util.BasicEMap;
 import org.eclipse.emf.common.util.EMap;
+
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type;
 
@@ -243,7 +248,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (key: "); //$NON-NLS-1$
 		result.append(key);
 		result.append(')');
@@ -262,7 +267,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public int getHash() {
 		if (hash == -1) {
 			Object theKey = getKey();
@@ -276,7 +280,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setHash(int hash) {
 		this.hash = hash;
 	}
@@ -286,7 +289,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getKey() {
 		return getTypedKey();
 	}
@@ -296,7 +298,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setKey(String key) {
 		setTypedKey(key);
 	}
@@ -306,7 +307,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public Type getValue() {
 		return getTypedValue();
 	}
@@ -316,7 +316,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public Type setValue(Type value) {
 		Type oldValue = getValue();
 		setTypedValue(value);
@@ -334,4 +333,4 @@
 		return container == null ? null : (EMap<String, Type>)container.eGet(eContainmentFeature());
 	}
 
-} // StringToTypeMapImpl
+} //StringToTypeMapImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringTypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringTypeImpl.java
deleted file mode 100755
index 93649c4..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/StringTypeImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
- */
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringType;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>String Type</b></em>'.
- * <!-- end-user-doc -->
- *
- * @generated
- */
-public class StringTypeImpl extends TypeImpl implements StringType {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	protected StringTypeImpl() {
-		super();
-		setName("String");
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
-	 */
-	@Override
-	public TypeInstance createInstance() {
-		return LayersFactory.eINSTANCE.createStringInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return LayersPackage.Literals.STRING_TYPE;
-	}
-
-} // StringTypeImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TopLayerOperatorDescriptorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TopLayerOperatorDescriptorImpl.java
index bfff679..bd2655d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TopLayerOperatorDescriptorImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TopLayerOperatorDescriptorImpl.java
@@ -1,23 +1,21 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperatorDescriptor;
 
 /**
@@ -31,43 +29,10 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected TopLayerOperatorDescriptorImpl() {
 		super();
-		init();
-	}
-
-	/**
-	 * Init the descriptor.
-	 */
-	private void init() {
-		setName("TopLayerOperator");
-
-	}
-
-	/**
-	 * New instance creation counter.
-	 */
-	static int count = 0;
-
-	/**
-	 * Create the requested {@link StackedLayerOperator} and init it.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorDescriptorImpl#createLayerOperator()
-	 *
-	 * @return
-	 */
-	@Override
-	public AbstractLayerOperator createLayerOperator() {
-
-
-		TopLayerOperator layerOperator = LayersFactory.eINSTANCE.createTopLayerOperator();
-		layerOperator.setLayerOperatorDescriptor(this);
-		layerOperator.setName(getName() + count++);
-
-		return layerOperator;
 	}
 
 	/**
@@ -80,4 +45,4 @@
 		return LayersPackage.Literals.TOP_LAYER_OPERATOR_DESCRIPTOR;
 	}
 
-} // TopLayerOperatorDescriptorImpl
+} //TopLayerOperatorDescriptorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TopLayerOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TopLayerOperatorImpl.java
index 276a1f8..eae675a 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TopLayerOperatorImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TopLayerOperatorImpl.java
@@ -1,28 +1,21 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
-import java.util.List;
-
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator;
 
 /**
@@ -32,7 +25,7 @@
  *
  * @generated
  */
-public class TopLayerOperatorImpl extends AbstractLayerOperatorImpl implements TopLayerOperator {
+public class TopLayerOperatorImpl extends LayerOperatorImpl implements TopLayerOperator {
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52,116 +45,4 @@
 		return LayersPackage.Literals.TOP_LAYER_OPERATOR;
 	}
 
-	/**
-	 * Get the command to compute the required property value.
-	 * Walk all layers and return the first cmd that is not null for specified view and proerty.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property)
-	 *
-	 * @param view
-	 * @param property
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public ComputePropertyValueCommand getComputePropertyValueCommand(View view, Property property) throws LayersException {
-
-		// Walk all layers and return the first cmd that is not null for specified view and proerty.
-		for (LayerExpression layer : getLayers()) {
-
-			ComputePropertyValueCommand cmd = layer.getComputePropertyValueCommand(view, property);
-			if (cmd != null) {
-				return cmd;
-			}
-		}
-		// Nothing found
-		return null;
-
-	}
-
-	/**
-	 * For each property, add the first property value in the list of result.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, java.util.List)
-	 *
-	 * @param view
-	 * @param property
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> properties) throws LayersException {
-
-		// Simple implementation
-		// TODO Check if we can optimize
-
-		// the result list
-		EList<ComputePropertyValueCommand> resCmds = new BasicEList<ComputePropertyValueCommand>(properties.size());
-		boolean isCmdFound = false;
-
-		for (Property property : properties) {
-			if (property == null) {
-				resCmds.add(null);
-				continue;
-			}
-
-			ComputePropertyValueCommand cmd = getComputePropertyValueCommand(view, property);
-			if (cmd != null) {
-				isCmdFound = true;
-			}
-			resCmds.add(cmd);
-
-
-		}
-		// Return appropriate result
-		if (isCmdFound) {
-			return resCmds;
-		} else {
-			// No command ==> null
-			return null;
-		}
-	}
-
-	/**
-	 * For each view, add the first property value in the list of result.
-	 *
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getViewsComputePropertyValueCommand(java.util.List, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property)
-	 *
-	 * @param view
-	 * @param property
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public EList<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> views, Property property) throws LayersException {
-
-		// Simple implementation
-		// TODO Check if we can optimize
-
-		// the result list
-		EList<ComputePropertyValueCommand> resCmds = new BasicEList<ComputePropertyValueCommand>(views.size());
-		boolean isCmdFound = false;
-
-		for (View view : views) {
-			if (view == null) {
-				resCmds.add(null);
-				continue;
-			}
-
-			ComputePropertyValueCommand cmd = getComputePropertyValueCommand(view, property);
-			if (cmd != null) {
-				isCmdFound = true;
-			}
-			resCmds.add(cmd);
-		}
-
-		// Return appropriate result
-		if (isCmdFound) {
-			return resCmds;
-		} else {
-			// No command ==> null
-			return null;
-		}
-	}
-} // TopLayerOperatorImpl
+} //TopLayerOperatorImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeImpl.java
index 4fb8443..d3bf034 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeImpl.java
@@ -1,26 +1,29 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
 
 import org.eclipse.emf.common.notify.Notification;
+
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
+
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
 
@@ -32,25 +35,13 @@
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TypeImpl#getMetamodel <em>Metamodel</em>}</li>
  *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TypeImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TypeImpl#getDescription <em>Description</em>}</li>
  * </ul>
  *
  * @generated
  */
-public abstract class TypeImpl extends
-		FolderElementImpl implements Type {
-	/**
-	 * The cached value of the '{@link #getMetamodel() <em>Metamodel</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMetamodel()
-	 * @generated
-	 * @ordered
-	 */
-	protected Metamodel metamodel;
-
+public abstract class TypeImpl extends FolderElementImpl implements Type {
 	/**
 	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -115,47 +106,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public Metamodel getMetamodel() {
-		if (metamodel != null && metamodel.eIsProxy()) {
-			InternalEObject oldMetamodel = (InternalEObject)metamodel;
-			metamodel = (Metamodel)eResolveProxy(oldMetamodel);
-			if (metamodel != oldMetamodel) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, LayersPackage.TYPE__METAMODEL, oldMetamodel, metamodel));
-			}
-		}
-		return metamodel;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Metamodel basicGetMetamodel() {
-		return metamodel;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setMetamodel(Metamodel newMetamodel) {
-		Metamodel oldMetamodel = metamodel;
-		metamodel = newMetamodel;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.TYPE__METAMODEL, oldMetamodel, metamodel));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public String getName() {
 		return name;
 	}
@@ -165,7 +115,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -178,7 +127,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public String getDescription() {
 		return description;
 	}
@@ -188,7 +136,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setDescription(String newDescription) {
 		String oldDescription = description;
 		description = newDescription;
@@ -201,7 +148,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public TypeInstance createInstance() {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
@@ -216,9 +162,6 @@
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case LayersPackage.TYPE__METAMODEL:
-				if (resolve) return getMetamodel();
-				return basicGetMetamodel();
 			case LayersPackage.TYPE__NAME:
 				return getName();
 			case LayersPackage.TYPE__DESCRIPTION:
@@ -235,9 +178,6 @@
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case LayersPackage.TYPE__METAMODEL:
-				setMetamodel((Metamodel)newValue);
-				return;
 			case LayersPackage.TYPE__NAME:
 				setName((String)newValue);
 				return;
@@ -256,9 +196,6 @@
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case LayersPackage.TYPE__METAMODEL:
-				setMetamodel((Metamodel)null);
-				return;
 			case LayersPackage.TYPE__NAME:
 				setName(NAME_EDEFAULT);
 				return;
@@ -277,8 +214,6 @@
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case LayersPackage.TYPE__METAMODEL:
-				return metamodel != null;
 			case LayersPackage.TYPE__NAME:
 				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
 			case LayersPackage.TYPE__DESCRIPTION:
@@ -310,7 +245,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: "); //$NON-NLS-1$
 		result.append(name);
 		result.append(", description: "); //$NON-NLS-1$
@@ -319,4 +254,4 @@
 		return result.toString();
 	}
 
-} // TypeImpl
+} //TypeImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeInstanceImpl.java
index 151f0ab..a0415fe 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeInstanceImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeInstanceImpl.java
@@ -1,23 +1,28 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
 import java.lang.reflect.InvocationTargetException;
 
 import org.eclipse.emf.common.util.EList;
+
 import org.eclipse.emf.ecore.EClass;
+
 import org.eclipse.emf.ecore.impl.EObjectImpl;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
 
@@ -51,14 +56,12 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
-	@Override
 	public TypeInstance getCmdValue() throws LayersException {
-		// By default, we return the instance itself, as there
-		// is nothing more to compute.
-		return this;
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
 	}
 
 	/**
@@ -66,7 +69,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setValueFromString(String value) {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
@@ -78,7 +80,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
 	public void setValueFromInstance(TypeInstance value) {
 		// TODO: implement this method
 		// Ensure that you remove @generated or mark it @generated NOT
@@ -110,4 +111,4 @@
 		return super.eInvoke(operationID, arguments);
 	}
 
-} // TypeInstanceImpl
+} //TypeInstanceImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeRegistryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeRegistryImpl.java
index d10c5f1..1884d75 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeRegistryImpl.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/TypeRegistryImpl.java
@@ -1,26 +1,33 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl;
 
+import java.util.Map;
+
 import org.eclipse.emf.common.notify.NotificationChain;
+
 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.EObjectImpl;
+
 import org.eclipse.emf.ecore.util.EcoreEMap;
 import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeRegistry;
@@ -33,7 +40,7 @@
  * The following features are implemented:
  * </p>
  * <ul>
- * <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TypeRegistryImpl#getTypes <em>Types</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TypeRegistryImpl#getTypes <em>Types</em>}</li>
  * </ul>
  *
  * @generated
@@ -43,7 +50,6 @@
 	 * The cached value of the '{@link #getTypes() <em>Types</em>}' map.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @see #getTypes()
 	 * @generated
 	 * @ordered
@@ -53,52 +59,15 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 *
-	 * @generated NOT
+	 * @generated
 	 */
 	protected TypeRegistryImpl() {
 		super();
-		init();
-	}
-
-	/**
-	 * Init the Registry.
-	 * Register standard types.
-	 */
-	protected void init() {
-
-		Type type = LayersFactory.eINSTANCE.createBooleanType();
-		getTypes().put(type.getName(), type);
-
-		type = LayersFactory.eINSTANCE.createIntType();
-		getTypes().put(type.getName(), type);
-
-		type = LayersFactory.eINSTANCE.createStringType();
-		getTypes().put(type.getName(), type);
-
-		// addType(LayersFactory.eINSTANCE.createColor());
-		// addType(LayersFactory.eINSTANCE.createFill());
-		// addType(LayersFactory.eINSTANCE.createLineType());
-		// addType(LayersFactory.eINSTANCE.createFontType());
-		addType(LayersFactory.eINSTANCE.createCSSType());
-		addType(LayersFactory.eINSTANCE.createCSSHideType());
-	}
-
-	/**
-	 * Add the type in the registry
-	 *
-	 * @param type
-	 */
-	public void addType(Type type) {
-		String typeName = type.getName();
-
-		getTypes().put(typeName, type);
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
@@ -109,28 +78,25 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
-	@Override
-	public EMap<String, Type> getTypes() {
+	public Map<String, Type> getTypes() {
 		if (types == null) {
-			types = new EcoreEMap<String, Type>(LayersPackage.Literals.STRING_TO_TYPE_MAP, StringToTypeMapImpl.class, this, LayersPackage.TYPE_REGISTRY__TYPES);
+			types = new EcoreEMap<String,Type>(LayersPackage.Literals.STRING_TO_TYPE_MAP, StringToTypeMapImpl.class, this, LayersPackage.TYPE_REGISTRY__TYPES);
 		}
-		return types;
+		return types.map();
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-		case LayersPackage.TYPE_REGISTRY__TYPES:
-			return ((InternalEList<?>) getTypes()).basicRemove(otherEnd, msgs);
+			case LayersPackage.TYPE_REGISTRY__TYPES:
+				return ((InternalEList<?>)((EMap.InternalMapView<String, Type>)getTypes()).eMap()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -138,17 +104,14 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-		case LayersPackage.TYPE_REGISTRY__TYPES:
-			if (coreType)
-				return getTypes();
-			else
-				return getTypes().map();
+			case LayersPackage.TYPE_REGISTRY__TYPES:
+				if (coreType) return ((EMap.InternalMapView<String, Type>)getTypes()).eMap();
+				else return getTypes();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -156,15 +119,14 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-		case LayersPackage.TYPE_REGISTRY__TYPES:
-			((EStructuralFeature.Setting) getTypes()).set(newValue);
-			return;
+			case LayersPackage.TYPE_REGISTRY__TYPES:
+				((EStructuralFeature.Setting)((EMap.InternalMapView<String, Type>)getTypes()).eMap()).set(newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -172,15 +134,14 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-		case LayersPackage.TYPE_REGISTRY__TYPES:
-			getTypes().clear();
-			return;
+			case LayersPackage.TYPE_REGISTRY__TYPES:
+				getTypes().clear();
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -188,16 +149,15 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * 
 	 * @generated
 	 */
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-		case LayersPackage.TYPE_REGISTRY__TYPES:
-			return types != null && !types.isEmpty();
+			case LayersPackage.TYPE_REGISTRY__TYPES:
+				return types != null && !types.isEmpty();
 		}
 		return super.eIsSet(featureID);
 	}
 
-} // TypeRegistryImpl
+} //TypeRegistryImpl
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/LayersAdapterFactory.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/LayersAdapterFactory.java
index 2d82207..526db6f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/LayersAdapterFactory.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/LayersAdapterFactory.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.util;
 
@@ -16,11 +17,16 @@
 
 import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notifier;
+
 import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
 import org.eclipse.emf.ecore.EObject;
+
 import org.eclipse.gmf.runtime.notation.NamedStyle;
 import org.eclipse.gmf.runtime.notation.Style;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.*;
 
 /**
@@ -77,7 +83,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected LayersSwitch<Adapter> modelSwitch = new LayersSwitch<Adapter>() {
+	protected LayersSwitch<Adapter> modelSwitch =
+		new LayersSwitch<Adapter>() {
 			@Override
 			public Adapter caseLayerNamedStyle(LayerNamedStyle object) {
 				return createLayerNamedStyleAdapter();
@@ -119,10 +126,6 @@
 				return createTypeAdapter();
 			}
 			@Override
-			public Adapter caseMetamodel(Metamodel object) {
-				return createMetamodelAdapter();
-			}
-			@Override
 			public Adapter caseTypeInstance(TypeInstance object) {
 				return createTypeInstanceAdapter();
 			}
@@ -175,10 +178,6 @@
 				return createPropertyOperatorAdapter();
 			}
 			@Override
-			public Adapter caseAbstractLayerOperator(AbstractLayerOperator object) {
-				return createAbstractLayerOperatorAdapter();
-			}
-			@Override
 			public Adapter caseLayerOperator(LayerOperator object) {
 				return createLayerOperatorAdapter();
 			}
@@ -187,10 +186,6 @@
 				return createLayersContainerAdapter();
 			}
 			@Override
-			public Adapter caseDefaultPropertyOperator(DefaultPropertyOperator object) {
-				return createDefaultPropertyOperatorAdapter();
-			}
-			@Override
 			public Adapter caseAbstractLayer(AbstractLayer object) {
 				return createAbstractLayerAdapter();
 			}
@@ -203,32 +198,8 @@
 				return createFolderAdapter();
 			}
 			@Override
-			public Adapter caseIntInstance(IntInstance object) {
-				return createIntInstanceAdapter();
-			}
-			@Override
-			public Adapter caseBooleanInstance(BooleanInstance object) {
-				return createBooleanInstanceAdapter();
-			}
-			@Override
-			public Adapter caseStringInstance(StringInstance object) {
-				return createStringInstanceAdapter();
-			}
-			@Override
-			public Adapter caseIntType(IntType object) {
-				return createIntTypeAdapter();
-			}
-			@Override
-			public Adapter caseBooleanType(BooleanType object) {
-				return createBooleanTypeAdapter();
-			}
-			@Override
-			public Adapter caseStringType(StringType object) {
-				return createStringTypeAdapter();
-			}
-			@Override
-			public Adapter caseCustomType(CustomType object) {
-				return createCustomTypeAdapter();
+			public Adapter caseMetamodel(Metamodel object) {
+				return createMetamodelAdapter();
 			}
 			@Override
 			public Adapter caseTopLayerOperator(TopLayerOperator object) {
@@ -239,10 +210,6 @@
 				return createStackedLayerOperatorAdapter();
 			}
 			@Override
-			public Adapter caseCustomLayerOperator(CustomLayerOperator object) {
-				return createCustomLayerOperatorAdapter();
-			}
-			@Override
 			public Adapter casePropertyIndex(PropertyIndex object) {
 				return createPropertyIndexAdapter();
 			}
@@ -255,78 +222,18 @@
 				return createSimpleLayerDescriptorAdapter();
 			}
 			@Override
-			public Adapter caseRegExpLayerDescriptor(RegExpLayerDescriptor object) {
-				return createRegExpLayerDescriptorAdapter();
-			}
-			@Override
 			public Adapter caseNullInstance(NullInstance object) {
 				return createNullInstanceAdapter();
 			}
 			@Override
-			public Adapter caseRegExpLayer(RegExpLayer object) {
-				return createRegExpLayerAdapter();
-			}
-			@Override
 			public Adapter caseLayer(Layer object) {
 				return createLayerAdapter();
 			}
 			@Override
-			public Adapter caseColor(Color object) {
-				return createColorAdapter();
-			}
-			@Override
-			public Adapter caseColorInstance(ColorInstance object) {
-				return createColorInstanceAdapter();
-			}
-			@Override
-			public Adapter caseFillInstance(FillInstance object) {
-				return createFillInstanceAdapter();
-			}
-			@Override
-			public Adapter caseFill(Fill object) {
-				return createFillAdapter();
-			}
-			@Override
-			public Adapter caseFillPropertySetter(FillPropertySetter object) {
-				return createFillPropertySetterAdapter();
-			}
-			@Override
-			public Adapter caseIsValidPropertySetter(IsValidPropertySetter object) {
-				return createIsValidPropertySetterAdapter();
-			}
-			@Override
 			public Adapter caseNullPropertySetter(NullPropertySetter object) {
 				return createNullPropertySetterAdapter();
 			}
 			@Override
-			public Adapter caseLineType(LineType object) {
-				return createLineTypeAdapter();
-			}
-			@Override
-			public Adapter caseLineInstance(LineInstance object) {
-				return createLineInstanceAdapter();
-			}
-			@Override
-			public Adapter caseLinePropertySetter(LinePropertySetter object) {
-				return createLinePropertySetterAdapter();
-			}
-			@Override
-			public Adapter caseFontPropertySetter(FontPropertySetter object) {
-				return createFontPropertySetterAdapter();
-			}
-			@Override
-			public Adapter caseFontInstance(FontInstance object) {
-				return createFontInstanceAdapter();
-			}
-			@Override
-			public Adapter caseFontType(FontType object) {
-				return createFontTypeAdapter();
-			}
-			@Override
-			public Adapter caseIsVisiblePropertySetter(IsVisiblePropertySetter object) {
-				return createIsVisiblePropertySetterAdapter();
-			}
-			@Override
 			public Adapter caseTopLayerOperatorDescriptor(TopLayerOperatorDescriptor object) {
 				return createTopLayerOperatorDescriptorAdapter();
 			}
@@ -335,22 +242,6 @@
 				return createStackedLayerOperatorDescriptorAdapter();
 			}
 			@Override
-			public Adapter caseCustomPropertyOperator(CustomPropertyOperator object) {
-				return createCustomPropertyOperatorAdapter();
-			}
-			@Override
-			public Adapter caseAndStackedLayerOperatorDescriptor(AndStackedLayerOperatorDescriptor object) {
-				return createAndStackedLayerOperatorDescriptorAdapter();
-			}
-			@Override
-			public Adapter caseOrStackedLayerOperatorDescriptor(OrStackedLayerOperatorDescriptor object) {
-				return createOrStackedLayerOperatorDescriptorAdapter();
-			}
-			@Override
-			public Adapter caseIsAbstractUmlSetter(IsAbstractUmlSetter object) {
-				return createIsAbstractUmlSetterAdapter();
-			}
-			@Override
 			public Adapter caseAllViewsDerivedLayer(AllViewsDerivedLayer object) {
 				return createAllViewsDerivedLayerAdapter();
 			}
@@ -435,212 +326,254 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Layer <em>Layer</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression <em>Layer Expression</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.papyrus.internal.infra.gmfdiag.layers.model.layers.Layer
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression
 	 * @generated
 	 */
-	public Adapter createLayerAdapter() {
+	public Adapter createLayerExpressionAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Color <em>Color</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ApplicationDependantElement <em>Application Dependant Element</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.papyrus.internal.infra.gmfdiag.layers.model.layers.Color
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ApplicationDependantElement
 	 * @generated
 	 */
-	public Adapter createColorAdapter() {
+	public Adapter createApplicationDependantElementAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance <em>Color Instance</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication <em>Stack Application</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.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication
 	 * @generated
 	 */
-	public Adapter createColorInstanceAdapter() {
+	public Adapter createLayersStackApplicationAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance <em>Fill Instance</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FolderElement <em>Folder Element</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.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FolderElement
 	 * @generated
 	 */
-	public Adapter createFillInstanceAdapter() {
+	public Adapter createFolderElementAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Fill <em>Fill</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerStackDescriptorRegistry <em>Layer Stack Descriptor Registry</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.papyrus.internal.infra.gmfdiag.layers.model.layers.Fill
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerStackDescriptorRegistry
 	 * @generated
 	 */
-	public Adapter createFillAdapter() {
+	public Adapter createLayerStackDescriptorRegistryAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillPropertySetter <em>Fill Property Setter</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry <em>Property Registry</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.papyrus.internal.infra.gmfdiag.layers.model.layers.FillPropertySetter
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry
 	 * @generated
 	 */
-	public Adapter createFillPropertySetterAdapter() {
+	public Adapter createPropertyRegistryAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsValidPropertySetter <em>Is Valid Property Setter</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property <em>Property</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.papyrus.internal.infra.gmfdiag.layers.model.layers.IsValidPropertySetter
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property
 	 * @generated
 	 */
-	public Adapter createIsValidPropertySetterAdapter() {
+	public Adapter createPropertyAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullPropertySetter <em>Null Property Setter</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type <em>Type</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.papyrus.internal.infra.gmfdiag.layers.model.layers.NullPropertySetter
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type
 	 * @generated
 	 */
-	public Adapter createNullPropertySetterAdapter() {
+	public Adapter createTypeAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineType <em>Line Type</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance <em>Type Instance</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LineType
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance
 	 * @generated
 	 */
-	public Adapter createLineTypeAdapter() {
+	public Adapter createTypeInstanceAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance <em>Line Instance</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand <em>Compute Property Value Command Itf</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LineInstance
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand
 	 * @generated
 	 */
-	public Adapter createLineInstanceAdapter() {
+	public Adapter createComputePropertyValueCommandItfAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LinePropertySetter <em>Line Property Setter</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeRegistry <em>Type Registry</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LinePropertySetter
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeRegistry
 	 * @generated
 	 */
-	public Adapter createLinePropertySetterAdapter() {
+	public Adapter createTypeRegistryAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontPropertySetter <em>Font Property Setter</em>}'.
+	 * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>String To Type Map</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.papyrus.internal.infra.gmfdiag.layers.model.layers.FontPropertySetter
+	 * @see java.util.Map.Entry
 	 * @generated
 	 */
-	public Adapter createFontPropertySetterAdapter() {
+	public Adapter createStringToTypeMapAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance <em>Font Instance</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptorRegistry <em>Layer Descriptor Registry</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.papyrus.internal.infra.gmfdiag.layers.model.layers.FontInstance
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptorRegistry
 	 * @generated
 	 */
-	public Adapter createFontInstanceAdapter() {
+	public Adapter createLayerDescriptorRegistryAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FontType <em>Font Type</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptor <em>Layer Descriptor</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.papyrus.internal.infra.gmfdiag.layers.model.layers.FontType
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptor
 	 * @generated
 	 */
-	public Adapter createFontTypeAdapter() {
+	public Adapter createLayerDescriptorAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsVisiblePropertySetter <em>Is Visible Property Setter</em>}'.
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerApplicationFactory <em>Layer Application Factory</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.papyrus.internal.infra.gmfdiag.layers.model.layers.IsVisiblePropertySetter
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerApplicationFactory
 	 * @generated
 	 */
-	public Adapter createIsVisiblePropertySetterAdapter() {
+	public Adapter createLayerApplicationFactoryAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetterRegistry <em>Property Setter Registry</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.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetterRegistry
+	 * @generated
+	 */
+	public Adapter createPropertySetterRegistryAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter <em>Property Setter</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.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter
+	 * @generated
+	 */
+	public Adapter createPropertySetterAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>String To Property Setter</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 java.util.Map.Entry
+	 * @generated
+	 */
+	public Adapter createStringToPropertySetterAdapter() {
 		return null;
 	}
 
@@ -659,6 +592,230 @@
 	}
 
 	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor <em>Layer Operator Descriptor</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor
+	 * @generated
+	 */
+	public Adapter createLayerOperatorDescriptorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator <em>Property Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator
+	 * @generated
+	 */
+	public Adapter createPropertyOperatorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator <em>Layer Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator
+	 * @generated
+	 */
+	public Adapter createLayerOperatorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersContainer <em>Container</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersContainer
+	 * @generated
+	 */
+	public Adapter createLayersContainerAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayer <em>Abstract Layer</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.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayer
+	 * @generated
+	 */
+	public Adapter createAbstractLayerAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>String To Type Instance Map</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 java.util.Map.Entry
+	 * @generated
+	 */
+	public Adapter createStringToTypeInstanceMapAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Folder <em>Folder</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.papyrus.internal.infra.gmfdiag.layers.model.layers.Folder
+	 * @generated
+	 */
+	public Adapter createFolderAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel <em>Metamodel</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.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel
+	 * @generated
+	 */
+	public Adapter createMetamodelAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator <em>Top Layer Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator
+	 * @generated
+	 */
+	public Adapter createTopLayerOperatorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator <em>Stacked Layer Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator
+	 * @generated
+	 */
+	public Adapter createStackedLayerOperatorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyIndex <em>Property Index</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.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyIndex
+	 * @generated
+	 */
+	public Adapter createPropertyIndexAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>String To Property Index Map</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 java.util.Map.Entry
+	 * @generated
+	 */
+	public Adapter createStringToPropertyIndexMapAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.SimpleLayerDescriptor <em>Simple Layer Descriptor</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.papyrus.internal.infra.gmfdiag.layers.model.layers.SimpleLayerDescriptor
+	 * @generated
+	 */
+	public Adapter createSimpleLayerDescriptorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullInstance <em>Null Instance</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.papyrus.internal.infra.gmfdiag.layers.model.layers.NullInstance
+	 * @generated
+	 */
+	public Adapter createNullInstanceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Layer <em>Layer</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.papyrus.internal.infra.gmfdiag.layers.model.layers.Layer
+	 * @generated
+	 */
+	public Adapter createLayerAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullPropertySetter <em>Null Property Setter</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.papyrus.internal.infra.gmfdiag.layers.model.layers.NullPropertySetter
+	 * @generated
+	 */
+	public Adapter createNullPropertySetterAdapter() {
+		return null;
+	}
+
+	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperatorDescriptor <em>Top Layer Operator Descriptor</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
@@ -687,62 +844,6 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator <em>Custom Property Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator
-	 * @generated
-	 */
-	public Adapter createCustomPropertyOperatorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AndStackedLayerOperatorDescriptor <em>And Stacked Layer Operator Descriptor</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.papyrus.internal.infra.gmfdiag.layers.model.layers.AndStackedLayerOperatorDescriptor
-	 * @generated
-	 */
-	public Adapter createAndStackedLayerOperatorDescriptorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.OrStackedLayerOperatorDescriptor <em>Or Stacked Layer Operator Descriptor</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.papyrus.internal.infra.gmfdiag.layers.model.layers.OrStackedLayerOperatorDescriptor
-	 * @generated
-	 */
-	public Adapter createOrStackedLayerOperatorDescriptorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IsAbstractUmlSetter <em>Is Abstract Uml Setter</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.papyrus.internal.infra.gmfdiag.layers.model.layers.IsAbstractUmlSetter
-	 * @generated
-	 */
-	public Adapter createIsAbstractUmlSetterAdapter() {
-		return null;
-	}
-
-	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AllViewsDerivedLayer <em>All Views Derived Layer</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
@@ -841,622 +942,6 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance <em>Type Instance</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.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance
-	 * @generated
-	 */
-	public Adapter createTypeInstanceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand <em>Compute Property Value Command Itf</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.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand
-	 * @generated
-	 */
-	public Adapter createComputePropertyValueCommandItfAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>String To Type Instance Map</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 java.util.Map.Entry
-	 * @generated
-	 */
-	public Adapter createStringToTypeInstanceMapAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptor <em>Layer Descriptor</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptor
-	 * @generated
-	 */
-	public Adapter createLayerDescriptorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerApplicationFactory <em>Layer Application Factory</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerApplicationFactory
-	 * @generated
-	 */
-	public Adapter createLayerApplicationFactoryAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetterRegistry <em>Property Setter Registry</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.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetterRegistry
-	 * @generated
-	 */
-	public Adapter createPropertySetterRegistryAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter <em>Property Setter</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.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter
-	 * @generated
-	 */
-	public Adapter createPropertySetterAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>String To Property Setter</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 java.util.Map.Entry
-	 * @generated
-	 */
-	public Adapter createStringToPropertySetterAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayer <em>Abstract Layer</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.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayer
-	 * @generated
-	 */
-	public Adapter createAbstractLayerAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property <em>Property</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.papyrus.internal.infra.gmfdiag.layers.model.layers.Property
-	 * @generated
-	 */
-	public Adapter createPropertyAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FolderElement <em>Folder Element</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.papyrus.internal.infra.gmfdiag.layers.model.layers.FolderElement
-	 * @generated
-	 */
-	public Adapter createFolderElementAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression <em>Layer Expression</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression
-	 * @generated
-	 */
-	public Adapter createLayerExpressionAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ApplicationDependantElement <em>Application Dependant Element</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.papyrus.internal.infra.gmfdiag.layers.model.layers.ApplicationDependantElement
-	 * @generated
-	 */
-	public Adapter createApplicationDependantElementAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type <em>Type</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.papyrus.internal.infra.gmfdiag.layers.model.layers.Type
-	 * @generated
-	 */
-	public Adapter createTypeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel <em>Metamodel</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.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel
-	 * @generated
-	 */
-	public Adapter createMetamodelAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Folder <em>Folder</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.papyrus.internal.infra.gmfdiag.layers.model.layers.Folder
-	 * @generated
-	 */
-	public Adapter createFolderAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance <em>Int Instance</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.papyrus.internal.infra.gmfdiag.layers.model.layers.IntInstance
-	 * @generated
-	 */
-	public Adapter createIntInstanceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance <em>Boolean Instance</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.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance
-	 * @generated
-	 */
-	public Adapter createBooleanInstanceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance <em>String Instance</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.papyrus.internal.infra.gmfdiag.layers.model.layers.StringInstance
-	 * @generated
-	 */
-	public Adapter createStringInstanceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.IntType <em>Int Type</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.papyrus.internal.infra.gmfdiag.layers.model.layers.IntType
-	 * @generated
-	 */
-	public Adapter createIntTypeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanType <em>Boolean Type</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.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanType
-	 * @generated
-	 */
-	public Adapter createBooleanTypeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StringType <em>String Type</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.papyrus.internal.infra.gmfdiag.layers.model.layers.StringType
-	 * @generated
-	 */
-	public Adapter createStringTypeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType <em>Custom Type</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.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomType
-	 * @generated
-	 */
-	public Adapter createCustomTypeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication <em>Stack Application</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication
-	 * @generated
-	 */
-	public Adapter createLayersStackApplicationAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerStackDescriptorRegistry <em>Layer Stack Descriptor Registry</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerStackDescriptorRegistry
-	 * @generated
-	 */
-	public Adapter createLayerStackDescriptorRegistryAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry <em>Property Registry</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.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry
-	 * @generated
-	 */
-	public Adapter createPropertyRegistryAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>String To Property Index Map</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 java.util.Map.Entry
-	 * @generated
-	 */
-	public Adapter createStringToPropertyIndexMapAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.SimpleLayerDescriptor <em>Simple Layer Descriptor</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.papyrus.internal.infra.gmfdiag.layers.model.layers.SimpleLayerDescriptor
-	 * @generated
-	 */
-	public Adapter createSimpleLayerDescriptorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayerDescriptor <em>Reg Exp Layer Descriptor</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.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayerDescriptor
-	 * @generated
-	 */
-	public Adapter createRegExpLayerDescriptorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullInstance <em>Null Instance</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.papyrus.internal.infra.gmfdiag.layers.model.layers.NullInstance
-	 * @generated
-	 */
-	public Adapter createNullInstanceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer <em>Reg Exp Layer</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.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer
-	 * @generated
-	 */
-	public Adapter createRegExpLayerAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyIndex <em>Property Index</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.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyIndex
-	 * @generated
-	 */
-	public Adapter createPropertyIndexAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeRegistry <em>Type Registry</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.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeRegistry
-	 * @generated
-	 */
-	public Adapter createTypeRegistryAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>String To Type Map</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 java.util.Map.Entry
-	 * @generated
-	 */
-	public Adapter createStringToTypeMapAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptorRegistry <em>Layer Descriptor Registry</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptorRegistry
-	 * @generated
-	 */
-	public Adapter createLayerDescriptorRegistryAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator <em>Layer Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator
-	 * @generated
-	 */
-	public Adapter createLayerOperatorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersContainer <em>Container</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersContainer
-	 * @generated
-	 */
-	public Adapter createLayersContainerAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator <em>Abstract Layer Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator
-	 * @generated
-	 */
-	public Adapter createAbstractLayerOperatorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor <em>Layer Operator Descriptor</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.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor
-	 * @generated
-	 */
-	public Adapter createLayerOperatorDescriptorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator <em>Property Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator
-	 * @generated
-	 */
-	public Adapter createPropertyOperatorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator <em>Default Property Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.DefaultPropertyOperator
-	 * @generated
-	 */
-	public Adapter createDefaultPropertyOperatorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator <em>Top Layer Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator
-	 * @generated
-	 */
-	public Adapter createTopLayerOperatorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator <em>Stacked Layer Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator
-	 * @generated
-	 */
-	public Adapter createStackedLayerOperatorAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomLayerOperator <em>Custom Layer Operator</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.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomLayerOperator
-	 * @generated
-	 */
-	public Adapter createCustomLayerOperatorAdapter() {
-		return null;
-	}
-
-	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.Style <em>Style</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
@@ -1496,4 +981,4 @@
 		return null;
 	}
 
-} // LayersAdapterFactory
+} //LayersAdapterFactory
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/LayersSwitch.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/LayersSwitch.java
index 0433bcf..40a1f1f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/LayersSwitch.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/LayersSwitch.java
@@ -1,14 +1,15 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-/**
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
  */
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.util;
 
@@ -16,16 +17,21 @@
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
+
 import org.eclipse.emf.ecore.util.Switch;
+
 import org.eclipse.gmf.runtime.notation.NamedStyle;
 import org.eclipse.gmf.runtime.notation.Style;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.*;
 
 /**
  * <!-- begin-user-doc -->
  * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
  * starting with the actual class of the object
  * and proceeding up the inheritance hierarchy
  * until a non-null result is returned,
@@ -145,13 +151,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case LayersPackage.METAMODEL: {
-				Metamodel metamodel = (Metamodel)theEObject;
-				T result = caseMetamodel(metamodel);
-				if (result == null) result = caseFolderElement(metamodel);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case LayersPackage.TYPE_INSTANCE: {
 				TypeInstance typeInstance = (TypeInstance)theEObject;
 				T result = caseTypeInstance(typeInstance);
@@ -231,16 +230,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case LayersPackage.ABSTRACT_LAYER_OPERATOR: {
-				AbstractLayerOperator abstractLayerOperator = (AbstractLayerOperator)theEObject;
-				T result = caseAbstractLayerOperator(abstractLayerOperator);
-				if (result == null) result = caseLayerOperator(abstractLayerOperator);
-				if (result == null) result = caseLayerExpression(abstractLayerOperator);
-				if (result == null) result = caseLayersContainer(abstractLayerOperator);
-				if (result == null) result = caseApplicationDependantElement(abstractLayerOperator);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case LayersPackage.LAYER_OPERATOR: {
 				LayerOperator layerOperator = (LayerOperator)theEObject;
 				T result = caseLayerOperator(layerOperator);
@@ -256,13 +245,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case LayersPackage.DEFAULT_PROPERTY_OPERATOR: {
-				DefaultPropertyOperator defaultPropertyOperator = (DefaultPropertyOperator)theEObject;
-				T result = caseDefaultPropertyOperator(defaultPropertyOperator);
-				if (result == null) result = casePropertyOperator(defaultPropertyOperator);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case LayersPackage.ABSTRACT_LAYER: {
 				AbstractLayer abstractLayer = (AbstractLayer)theEObject;
 				T result = caseAbstractLayer(abstractLayer);
@@ -284,66 +266,16 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case LayersPackage.INT_INSTANCE: {
-				IntInstance intInstance = (IntInstance)theEObject;
-				T result = caseIntInstance(intInstance);
-				if (result == null) result = caseTypeInstance(intInstance);
-				if (result == null) result = caseComputePropertyValueCommandItf(intInstance);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.BOOLEAN_INSTANCE: {
-				BooleanInstance booleanInstance = (BooleanInstance)theEObject;
-				T result = caseBooleanInstance(booleanInstance);
-				if (result == null) result = caseTypeInstance(booleanInstance);
-				if (result == null) result = caseComputePropertyValueCommandItf(booleanInstance);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.STRING_INSTANCE: {
-				StringInstance stringInstance = (StringInstance)theEObject;
-				T result = caseStringInstance(stringInstance);
-				if (result == null) result = caseTypeInstance(stringInstance);
-				if (result == null) result = caseComputePropertyValueCommandItf(stringInstance);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.INT_TYPE: {
-				IntType intType = (IntType)theEObject;
-				T result = caseIntType(intType);
-				if (result == null) result = caseType(intType);
-				if (result == null) result = caseFolderElement(intType);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.BOOLEAN_TYPE: {
-				BooleanType booleanType = (BooleanType)theEObject;
-				T result = caseBooleanType(booleanType);
-				if (result == null) result = caseType(booleanType);
-				if (result == null) result = caseFolderElement(booleanType);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.STRING_TYPE: {
-				StringType stringType = (StringType)theEObject;
-				T result = caseStringType(stringType);
-				if (result == null) result = caseType(stringType);
-				if (result == null) result = caseFolderElement(stringType);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.CUSTOM_TYPE: {
-				CustomType customType = (CustomType)theEObject;
-				T result = caseCustomType(customType);
-				if (result == null) result = caseType(customType);
-				if (result == null) result = caseFolderElement(customType);
+			case LayersPackage.METAMODEL: {
+				Metamodel metamodel = (Metamodel)theEObject;
+				T result = caseMetamodel(metamodel);
+				if (result == null) result = caseFolderElement(metamodel);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
 			case LayersPackage.TOP_LAYER_OPERATOR: {
 				TopLayerOperator topLayerOperator = (TopLayerOperator)theEObject;
 				T result = caseTopLayerOperator(topLayerOperator);
-				if (result == null) result = caseAbstractLayerOperator(topLayerOperator);
 				if (result == null) result = caseLayerOperator(topLayerOperator);
 				if (result == null) result = caseLayerExpression(topLayerOperator);
 				if (result == null) result = caseLayersContainer(topLayerOperator);
@@ -354,7 +286,6 @@
 			case LayersPackage.STACKED_LAYER_OPERATOR: {
 				StackedLayerOperator stackedLayerOperator = (StackedLayerOperator)theEObject;
 				T result = caseStackedLayerOperator(stackedLayerOperator);
-				if (result == null) result = caseAbstractLayerOperator(stackedLayerOperator);
 				if (result == null) result = caseLayerOperator(stackedLayerOperator);
 				if (result == null) result = caseLayerExpression(stackedLayerOperator);
 				if (result == null) result = caseLayersContainer(stackedLayerOperator);
@@ -362,16 +293,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case LayersPackage.CUSTOM_LAYER_OPERATOR: {
-				CustomLayerOperator customLayerOperator = (CustomLayerOperator)theEObject;
-				T result = caseCustomLayerOperator(customLayerOperator);
-				if (result == null) result = caseLayerOperator(customLayerOperator);
-				if (result == null) result = caseLayerExpression(customLayerOperator);
-				if (result == null) result = caseLayersContainer(customLayerOperator);
-				if (result == null) result = caseApplicationDependantElement(customLayerOperator);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case LayersPackage.PROPERTY_INDEX: {
 				PropertyIndex propertyIndex = (PropertyIndex)theEObject;
 				T result = casePropertyIndex(propertyIndex);
@@ -391,13 +312,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case LayersPackage.REG_EXP_LAYER_DESCRIPTOR: {
-				RegExpLayerDescriptor regExpLayerDescriptor = (RegExpLayerDescriptor)theEObject;
-				T result = caseRegExpLayerDescriptor(regExpLayerDescriptor);
-				if (result == null) result = caseLayerDescriptor(regExpLayerDescriptor);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case LayersPackage.NULL_INSTANCE: {
 				NullInstance nullInstance = (NullInstance)theEObject;
 				T result = caseNullInstance(nullInstance);
@@ -406,15 +320,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case LayersPackage.REG_EXP_LAYER: {
-				RegExpLayer regExpLayer = (RegExpLayer)theEObject;
-				T result = caseRegExpLayer(regExpLayer);
-				if (result == null) result = caseAbstractLayer(regExpLayer);
-				if (result == null) result = caseLayerExpression(regExpLayer);
-				if (result == null) result = caseApplicationDependantElement(regExpLayer);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case LayersPackage.LAYER: {
 				Layer layer = (Layer)theEObject;
 				T result = caseLayer(layer);
@@ -424,52 +329,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case LayersPackage.COLOR: {
-				Color color = (Color)theEObject;
-				T result = caseColor(color);
-				if (result == null) result = caseType(color);
-				if (result == null) result = caseFolderElement(color);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.COLOR_INSTANCE: {
-				ColorInstance colorInstance = (ColorInstance)theEObject;
-				T result = caseColorInstance(colorInstance);
-				if (result == null) result = caseTypeInstance(colorInstance);
-				if (result == null) result = caseComputePropertyValueCommandItf(colorInstance);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.FILL_INSTANCE: {
-				FillInstance fillInstance = (FillInstance)theEObject;
-				T result = caseFillInstance(fillInstance);
-				if (result == null) result = caseTypeInstance(fillInstance);
-				if (result == null) result = caseComputePropertyValueCommandItf(fillInstance);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.FILL: {
-				Fill fill = (Fill)theEObject;
-				T result = caseFill(fill);
-				if (result == null) result = caseType(fill);
-				if (result == null) result = caseFolderElement(fill);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.FILL_PROPERTY_SETTER: {
-				FillPropertySetter fillPropertySetter = (FillPropertySetter)theEObject;
-				T result = caseFillPropertySetter(fillPropertySetter);
-				if (result == null) result = casePropertySetter(fillPropertySetter);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.IS_VALID_PROPERTY_SETTER: {
-				IsValidPropertySetter isValidPropertySetter = (IsValidPropertySetter)theEObject;
-				T result = caseIsValidPropertySetter(isValidPropertySetter);
-				if (result == null) result = casePropertySetter(isValidPropertySetter);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case LayersPackage.NULL_PROPERTY_SETTER: {
 				NullPropertySetter nullPropertySetter = (NullPropertySetter)theEObject;
 				T result = caseNullPropertySetter(nullPropertySetter);
@@ -477,59 +336,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case LayersPackage.LINE_TYPE: {
-				LineType lineType = (LineType)theEObject;
-				T result = caseLineType(lineType);
-				if (result == null) result = caseType(lineType);
-				if (result == null) result = caseFolderElement(lineType);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.LINE_INSTANCE: {
-				LineInstance lineInstance = (LineInstance)theEObject;
-				T result = caseLineInstance(lineInstance);
-				if (result == null) result = caseTypeInstance(lineInstance);
-				if (result == null) result = caseComputePropertyValueCommandItf(lineInstance);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.LINE_PROPERTY_SETTER: {
-				LinePropertySetter linePropertySetter = (LinePropertySetter)theEObject;
-				T result = caseLinePropertySetter(linePropertySetter);
-				if (result == null) result = casePropertySetter(linePropertySetter);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.FONT_PROPERTY_SETTER: {
-				FontPropertySetter fontPropertySetter = (FontPropertySetter)theEObject;
-				T result = caseFontPropertySetter(fontPropertySetter);
-				if (result == null) result = casePropertySetter(fontPropertySetter);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.FONT_INSTANCE: {
-				FontInstance fontInstance = (FontInstance)theEObject;
-				T result = caseFontInstance(fontInstance);
-				if (result == null) result = caseTypeInstance(fontInstance);
-				if (result == null) result = caseComputePropertyValueCommandItf(fontInstance);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.FONT_TYPE: {
-				FontType fontType = (FontType)theEObject;
-				T result = caseFontType(fontType);
-				if (result == null) result = caseType(fontType);
-				if (result == null) result = caseFolderElement(fontType);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.IS_VISIBLE_PROPERTY_SETTER: {
-				IsVisiblePropertySetter isVisiblePropertySetter = (IsVisiblePropertySetter)theEObject;
-				T result = caseIsVisiblePropertySetter(isVisiblePropertySetter);
-				if (result == null) result = casePropertySetter(isVisiblePropertySetter);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case LayersPackage.TOP_LAYER_OPERATOR_DESCRIPTOR: {
 				TopLayerOperatorDescriptor topLayerOperatorDescriptor = (TopLayerOperatorDescriptor)theEObject;
 				T result = caseTopLayerOperatorDescriptor(topLayerOperatorDescriptor);
@@ -544,36 +350,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case LayersPackage.CUSTOM_PROPERTY_OPERATOR: {
-				CustomPropertyOperator customPropertyOperator = (CustomPropertyOperator)theEObject;
-				T result = caseCustomPropertyOperator(customPropertyOperator);
-				if (result == null) result = casePropertyOperator(customPropertyOperator);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.AND_STACKED_LAYER_OPERATOR_DESCRIPTOR: {
-				AndStackedLayerOperatorDescriptor andStackedLayerOperatorDescriptor = (AndStackedLayerOperatorDescriptor)theEObject;
-				T result = caseAndStackedLayerOperatorDescriptor(andStackedLayerOperatorDescriptor);
-				if (result == null) result = caseStackedLayerOperatorDescriptor(andStackedLayerOperatorDescriptor);
-				if (result == null) result = caseLayerOperatorDescriptor(andStackedLayerOperatorDescriptor);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.OR_STACKED_LAYER_OPERATOR_DESCRIPTOR: {
-				OrStackedLayerOperatorDescriptor orStackedLayerOperatorDescriptor = (OrStackedLayerOperatorDescriptor)theEObject;
-				T result = caseOrStackedLayerOperatorDescriptor(orStackedLayerOperatorDescriptor);
-				if (result == null) result = caseStackedLayerOperatorDescriptor(orStackedLayerOperatorDescriptor);
-				if (result == null) result = caseLayerOperatorDescriptor(orStackedLayerOperatorDescriptor);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case LayersPackage.IS_ABSTRACT_UML_SETTER: {
-				IsAbstractUmlSetter isAbstractUmlSetter = (IsAbstractUmlSetter)theEObject;
-				T result = caseIsAbstractUmlSetter(isAbstractUmlSetter);
-				if (result == null) result = casePropertySetter(isAbstractUmlSetter);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case LayersPackage.ALL_VIEWS_DERIVED_LAYER: {
 				AllViewsDerivedLayer allViewsDerivedLayer = (AllViewsDerivedLayer)theEObject;
 				T result = caseAllViewsDerivedLayer(allViewsDerivedLayer);
@@ -664,227 +440,272 @@
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Layer</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Layer Expression</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>Layer</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Layer Expression</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseLayer(Layer object) {
+	public T caseLayerExpression(LayerExpression object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Color</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Application Dependant Element</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>Color</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Application Dependant Element</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseColor(Color object) {
+	public T caseApplicationDependantElement(ApplicationDependantElement object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Color Instance</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Stack Application</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>Color Instance</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Stack Application</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseColorInstance(ColorInstance object) {
+	public T caseLayersStackApplication(LayersStackApplication object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Fill Instance</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Folder Element</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>Fill Instance</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Folder Element</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseFillInstance(FillInstance object) {
+	public T caseFolderElement(FolderElement object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Fill</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Layer Stack Descriptor Registry</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>Fill</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Layer Stack Descriptor Registry</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseFill(Fill object) {
+	public T caseLayerStackDescriptorRegistry(LayerStackDescriptorRegistry object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Fill Property Setter</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Property Registry</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>Fill Property Setter</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Property Registry</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseFillPropertySetter(FillPropertySetter object) {
+	public T casePropertyRegistry(PropertyRegistry object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Is Valid Property Setter</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Property</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>Is Valid Property Setter</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Property</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseIsValidPropertySetter(IsValidPropertySetter object) {
+	public T caseProperty(Property object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Null Property Setter</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Type</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>Null Property Setter</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Type</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseNullPropertySetter(NullPropertySetter object) {
+	public T caseType(Type object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Line Type</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Type Instance</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>Line Type</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Type Instance</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseLineType(LineType object) {
+	public T caseTypeInstance(TypeInstance object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Line Instance</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Compute Property Value Command Itf</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>Line Instance</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Compute Property Value Command Itf</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseLineInstance(LineInstance object) {
+	public T caseComputePropertyValueCommandItf(ComputePropertyValueCommand object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Line Property Setter</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Type Registry</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>Line Property Setter</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Type Registry</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseLinePropertySetter(LinePropertySetter object) {
+	public T caseTypeRegistry(TypeRegistry object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Font Property Setter</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>String To Type Map</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>Font Property Setter</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>String To Type Map</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseFontPropertySetter(FontPropertySetter object) {
+	public T caseStringToTypeMap(Map.Entry<String, Type> object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Font Instance</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Layer Descriptor Registry</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>Font Instance</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Layer Descriptor Registry</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseFontInstance(FontInstance object) {
+	public T caseLayerDescriptorRegistry(LayerDescriptorRegistry object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Font Type</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Layer Descriptor</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>Font Type</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Layer Descriptor</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseFontType(FontType object) {
+	public T caseLayerDescriptor(LayerDescriptor object) {
 		return null;
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Is Visible Property Setter</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Layer Application Factory</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>Is Visible Property Setter</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Layer Application Factory</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseIsVisiblePropertySetter(IsVisiblePropertySetter object) {
+	public T caseLayerApplicationFactory(LayerApplicationFactory object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Setter Registry</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>Property Setter Registry</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertySetterRegistry(PropertySetterRegistry object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Setter</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>Property Setter</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertySetter(PropertySetter object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>String To Property Setter</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>String To Property Setter</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStringToPropertySetter(Map.Entry<String, PropertySetter> object) {
 		return null;
 	}
 
@@ -904,6 +725,246 @@
 	}
 
 	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Layer Operator Descriptor</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>Layer Operator Descriptor</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLayerOperatorDescriptor(LayerOperatorDescriptor object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Operator</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>Property Operator</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyOperator(PropertyOperator object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Layer Operator</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>Layer Operator</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLayerOperator(LayerOperator object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Container</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>Container</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLayersContainer(LayersContainer object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Abstract Layer</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>Abstract Layer</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAbstractLayer(AbstractLayer object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>String To Type Instance Map</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>String To Type Instance Map</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStringToTypeInstanceMap(Map.Entry<String, TypeInstance> object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Folder</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>Folder</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFolder(Folder object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Metamodel</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>Metamodel</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseMetamodel(Metamodel object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Top Layer Operator</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>Top Layer Operator</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTopLayerOperator(TopLayerOperator object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Stacked Layer Operator</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>Stacked Layer Operator</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStackedLayerOperator(StackedLayerOperator object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Index</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>Property Index</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertyIndex(PropertyIndex object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>String To Property Index Map</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>String To Property Index Map</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseStringToPropertyIndexMap(Map.Entry<String, PropertyIndex> object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Simple Layer Descriptor</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>Simple Layer Descriptor</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSimpleLayerDescriptor(SimpleLayerDescriptor object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Null Instance</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>Null Instance</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseNullInstance(NullInstance object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Layer</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>Layer</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseLayer(Layer object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Null Property Setter</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>Null Property Setter</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseNullPropertySetter(NullPropertySetter object) {
+		return null;
+	}
+
+	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Top Layer Operator Descriptor</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
@@ -934,66 +995,6 @@
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Custom Property Operator</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>Custom Property Operator</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseCustomPropertyOperator(CustomPropertyOperator object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>And Stacked Layer Operator Descriptor</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>And Stacked Layer Operator Descriptor</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseAndStackedLayerOperatorDescriptor(AndStackedLayerOperatorDescriptor object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Or Stacked Layer Operator Descriptor</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>Or Stacked Layer Operator Descriptor</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseOrStackedLayerOperatorDescriptor(OrStackedLayerOperatorDescriptor object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Is Abstract Uml Setter</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>Is Abstract Uml Setter</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseIsAbstractUmlSetter(IsAbstractUmlSetter object) {
-		return null;
-	}
-
-	/**
 	 * Returns the result of interpreting the object as an instance of '<em>All Views Derived Layer</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
@@ -1099,666 +1100,6 @@
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Type Instance</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>Type Instance</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseTypeInstance(TypeInstance object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Compute Property Value Command Itf</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>Compute Property Value Command Itf</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseComputePropertyValueCommandItf(ComputePropertyValueCommand object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>String To Type Instance Map</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>String To Type Instance Map</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseStringToTypeInstanceMap(Map.Entry<String, TypeInstance> object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Layer Descriptor</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>Layer Descriptor</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseLayerDescriptor(LayerDescriptor object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Layer Application Factory</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>Layer Application Factory</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseLayerApplicationFactory(LayerApplicationFactory object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Property Setter Registry</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>Property Setter Registry</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T casePropertySetterRegistry(PropertySetterRegistry object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Property Setter</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>Property Setter</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T casePropertySetter(PropertySetter object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>String To Property Setter</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>String To Property Setter</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseStringToPropertySetter(Map.Entry<String, PropertySetter> object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Abstract Layer</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>Abstract Layer</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseAbstractLayer(AbstractLayer object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Property</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>Property</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseProperty(Property object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Folder Element</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>Folder Element</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseFolderElement(FolderElement object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Layer Expression</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>Layer Expression</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseLayerExpression(LayerExpression object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Application Dependant Element</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>Application Dependant Element</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseApplicationDependantElement(ApplicationDependantElement object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Type</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>Type</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseType(Type object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Metamodel</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>Metamodel</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseMetamodel(Metamodel object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Folder</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>Folder</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseFolder(Folder object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Int Instance</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>Int Instance</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseIntInstance(IntInstance object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Boolean Instance</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>Boolean Instance</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseBooleanInstance(BooleanInstance object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>String Instance</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>String Instance</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseStringInstance(StringInstance object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Int Type</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>Int Type</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseIntType(IntType object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Boolean Type</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>Boolean Type</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseBooleanType(BooleanType object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>String Type</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>String Type</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseStringType(StringType object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Custom Type</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>Custom Type</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseCustomType(CustomType object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Stack Application</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>Stack Application</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseLayersStackApplication(LayersStackApplication object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Layer Stack Descriptor Registry</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>Layer Stack Descriptor Registry</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseLayerStackDescriptorRegistry(LayerStackDescriptorRegistry object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Property Registry</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>Property Registry</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T casePropertyRegistry(PropertyRegistry object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>String To Property Index Map</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>String To Property Index Map</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseStringToPropertyIndexMap(Map.Entry<String, PropertyIndex> object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Simple Layer Descriptor</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>Simple Layer Descriptor</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseSimpleLayerDescriptor(SimpleLayerDescriptor object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Reg Exp Layer Descriptor</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>Reg Exp Layer Descriptor</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseRegExpLayerDescriptor(RegExpLayerDescriptor object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Null Instance</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>Null Instance</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseNullInstance(NullInstance object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Reg Exp Layer</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>Reg Exp Layer</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseRegExpLayer(RegExpLayer object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Property Index</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>Property Index</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T casePropertyIndex(PropertyIndex object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Type Registry</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>Type Registry</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseTypeRegistry(TypeRegistry object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>String To Type Map</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>String To Type Map</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseStringToTypeMap(Map.Entry<String, Type> object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Layer Descriptor Registry</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>Layer Descriptor Registry</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseLayerDescriptorRegistry(LayerDescriptorRegistry object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Layer Operator</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>Layer Operator</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseLayerOperator(LayerOperator object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Container</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>Container</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseLayersContainer(LayersContainer object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Abstract Layer Operator</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>Abstract Layer Operator</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseAbstractLayerOperator(AbstractLayerOperator object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Layer Operator Descriptor</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>Layer Operator Descriptor</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseLayerOperatorDescriptor(LayerOperatorDescriptor object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Property Operator</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>Property Operator</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T casePropertyOperator(PropertyOperator object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Default Property Operator</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>Default Property Operator</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseDefaultPropertyOperator(DefaultPropertyOperator object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Top Layer Operator</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>Top Layer Operator</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseTopLayerOperator(TopLayerOperator object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Stacked Layer Operator</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>Stacked Layer Operator</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseStackedLayerOperator(StackedLayerOperator object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Custom Layer Operator</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>Custom Layer Operator</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseCustomLayerOperator(CustomLayerOperator object) {
-		return null;
-	}
-
-	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Style</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
@@ -1804,4 +1145,4 @@
 		return null;
 	}
 
-} // LayersSwitch
+} //LayersSwitch
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomLayerOperatorConfigImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomLayerOperatorConfigImpl.java
new file mode 100755
index 0000000..a404f3c
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomLayerOperatorConfigImpl.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.custom;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.LayerOperatorConfigImpl;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.InstanciationException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomLayerOperatorConfigImpl extends LayerOperatorConfigImpl {
+
+	/**
+	 * Create the requested descriptor
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.InstanciableElementImpl#createLayersOperatorDescriptor()
+	 *
+	 * @return
+	 * @throws NotFoundException
+	 */
+	@Override
+	public LayerOperatorDescriptor createLayersOperatorDescriptor() throws InstanciationException {
+
+		// Create instance of layer
+		EClassifier classifier = LayersPackage.eINSTANCE.getEClassifier(getClassname());
+		if (classifier == null) {
+			throw new InstanciationException("Can't create LayerOperatorDescriptor for name '" + getClassname() + "'");
+		}
+		LayerOperatorDescriptor res = (LayerOperatorDescriptor) LayersFactory.eINSTANCE.create((EClass) classifier);
+
+		// Set values
+		res.setName(getName());
+
+		return res;
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomLayersConfigFactory.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomLayersConfigFactory.java
new file mode 100755
index 0000000..4eef7b9
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomLayersConfigFactory.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.custom;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorConfig;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.OperatorBinding;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.OperatorConfig;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.LayersConfigFactoryImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomLayersConfigFactory extends LayersConfigFactoryImpl {
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.LayersConfigFactoryImpl#createLayerOperatorConfig()
+	 *
+	 * @return
+	 */
+	@Override
+	public LayerOperatorConfig createLayerOperatorConfig() {
+		return new CustomLayerOperatorConfigImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.LayersConfigFactoryImpl#createOperatorBinding()
+	 *
+	 * @return
+	 */
+	@Override
+	public OperatorBinding createOperatorBinding() {
+		return new CustomOperatorBindingImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.LayersConfigFactoryImpl#createOperatorConfig()
+	 *
+	 * @return
+	 */
+	@Override
+	public OperatorConfig createOperatorConfig() {
+		return new CustomOperatorConfigImpl();
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomOperatorBindingImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomOperatorBindingImpl.java
new file mode 100755
index 0000000..cbb1d39
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomOperatorBindingImpl.java
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.custom;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.LayerOperatorConfig;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.OperatorBindingImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomOperatorBindingImpl extends OperatorBindingImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public LayerOperatorConfig basicGetLayerOperatorConfig() {
+		//
+		return getOwner().getLayerOperatorConfig();
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomOperatorConfigImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomOperatorConfigImpl.java
new file mode 100755
index 0000000..e3d9e66
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/configmodel/layersconfig/impl/custom/CustomOperatorConfigImpl.java
@@ -0,0 +1,166 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.custom;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.ClassnameKind;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.impl.OperatorConfigImpl;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.InstanciationException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.ServiceException;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomOperatorConfigImpl extends OperatorConfigImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public PropertyOperator createOperatorDescriptor() throws InstanciationException {
+
+		switch (getClassnameKind()) {
+		case UNDEFINED:
+			// Try to find the exact type of classname
+			PropertyOperator res;
+
+			// Try as EMF instance
+			try {
+				res = createEmfInstance();
+				setClassnameKind(ClassnameKind.EMF_CLASSNAME);
+				return res;
+			} catch (InstanciationException e) {
+				// Not an EMF name. Try other solutions.
+			} catch (ClassCastException e) {
+				// specified class name is of wrong type
+				setClassnameKind(ClassnameKind.NOT_FOUND);
+				throw new InstanciationException("Can't create PropertyOperator for name '" + getClassname() + "'. Bad EMF type.");
+			}
+
+			// Try as java pojo
+			try {
+				res = createPojoInstance();
+				setClassnameKind(ClassnameKind.POJO_CLASSNAME);
+				return res;
+			} catch (InstanciationException e) {
+				setClassnameKind(ClassnameKind.NOT_FOUND);
+				throw e;
+			}
+
+
+		case EMF_CLASSNAME:
+			return createEmfInstance();
+
+		case POJO_CLASSNAME:
+			// Try to load a java class
+			return createPojoInstance();
+
+
+		case NOT_FOUND:
+			// We already are in error. Do nothing
+
+			break;
+
+		default:
+			break;
+		}
+
+		throw new InstanciationException("Can't create PropertyOperator for name '" + getClassname() + "'.");
+
+	}
+
+	/**
+	 * @return
+	 * @throws InstanciationException
+	 * 
+	 */
+	@Override
+	protected PropertyOperator createPojoInstance() throws InstanciationException {
+		try {
+			Class<?> opClass = loadClass();
+			PropertyOperator operator = LayersFactory.eINSTANCE.createPropertyOperator();
+			operator.setOperatorInstance((PropertyOperator) opClass.newInstance());
+			operator.setName(getName());
+
+			return operator;
+		} catch (Exception e) {
+			setClassnameKind(ClassnameKind.NOT_FOUND);
+			throw new InstanciationException("Can't create PropertyOperator for name '" + getClassname() + "'. " + e.getMessage());
+		}
+	}
+
+	/**
+	 * Create an EMF instance from the classname.
+	 *
+	 * @return
+	 * @throws InstanciationException
+	 * 
+	 */
+	@Override
+	protected PropertyOperator createEmfInstance() throws InstanciationException {
+		// Try to load an EMF type
+		EClassifier classifier = LayersPackage.eINSTANCE.getEClassifier(getClassname());
+		if (classifier == null) {
+			throw new InstanciationException("Can't create PropertyOperator for name '" + getClassname() + "'. Bad classname.");
+		}
+		PropertyOperator res;
+		try {
+			res = (PropertyOperator) LayersFactory.eINSTANCE.create((EClass) classifier);
+		} catch (ClassCastException e) {
+			// specified class name is of
+			throw new InstanciationException("Can't create PropertyOperator for name '" + getClassname() + "'. Bad type.");
+		}
+		return res;
+	}
+
+	/**
+	 * Load the Class object. Try from current ClassLoader, then try using the
+	 * plugin referenced in the serviceDescriptor.PluginId
+	 *
+	 * @return
+	 * @throws ServiceException
+	 * 
+	 */
+	private Class<?> loadClass() throws LayersException {
+		String classname = getClassname();
+		Class<?> classDesc;
+		try {
+			classDesc = Class.forName(classname);
+		} catch (ClassNotFoundException e1) {
+			// Try using bundle
+			try {
+				String bundleID = getBundleID();
+				Bundle bundle = Platform.getBundle(bundleID);
+				classDesc = bundle.loadClass(classname);
+			} catch (ClassNotFoundException e2) {
+				throw new LayersException("Can't find class for the name '" + classname + "'.", e2);
+			} catch (NullPointerException e) {
+				throw new LayersException("Can't find bundle '" + getBundleID()
+						+ "' for class for the name '" + classname + "'.", e);
+			}
+		}
+
+		return classDesc;
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/ExpressionMatcher.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/ExpressionMatcher.java
deleted file mode 100755
index aa8ef88..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/ExpressionMatcher.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 Cedric Dumoulin.
- *
- *
- * 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:
- *  Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.exprmatcher;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.query.conditions.eobjects.EObjectCondition;
-import org.eclipse.emf.query.ocl.conditions.BooleanOCLCondition;
-import org.eclipse.emf.query.statements.FROM;
-import org.eclipse.emf.query.statements.IQueryResult;
-import org.eclipse.emf.query.statements.SELECT;
-import org.eclipse.emf.query.statements.WHERE;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.ocl.ParserException;
-import org.eclipse.ocl.ecore.OCL;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util.Collections3;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util.ObservableListView;
-
-/**
- * This class evaluate its associated expression against the associated models.
- * It provide a list of elements matching the expression in the model.
- * The list of matching elements is synchronized by the matcher. The list can be provided at construction
- * time. The ExpressinMatcher takes care to minimize the number of write to the underlying list of matching elements.
- * Usually, there is two writes (see {@link Collections3#resetListTo(Collection, Collection)}. <br>
- * It is possible to be inform of changes in the underlying list by wrapping it in an {@link ObservableListView}.
- *
- *
- * @author cedric dumoulin
- *
- */
-public class ExpressionMatcher implements IValueChangedEventListener {
-
-	protected String expression = "";
-
-	/**
-	 * List of element matching the expression.
-	 * This class maintains the list.
-	 */
-	protected List<View> matchingElements;
-
-	/**
-	 * List of element used as starting point for search.
-	 */
-	protected List<EObject> searchRoots;
-
-	/**
-	 * OCL Condition computed from the expr.
-	 */
-	protected EObjectCondition condition;
-	protected OCL ocl;
-
-
-	/**
-	 *
-	 * Constructor.
-	 *
-	 */
-	public ExpressionMatcher() {
-		this.expression = "";
-		this.searchRoots = Collections.emptyList();
-		// init matchingElements
-		matchingElements = new ArrayList<View>();
-	}
-
-	/**
-	 *
-	 * Constructor.
-	 *
-	 * @param searchRoots
-	 * @throws LayersException
-	 */
-	public ExpressionMatcher(List<View> matchingElementsList) {
-		this.expression = "";
-		this.searchRoots = Collections.emptyList();
-		// init matchingElements
-		matchingElements = matchingElementsList;
-	}
-
-	/**
-	 *
-	 * Constructor.
-	 *
-	 * @param searchRoots
-	 * @throws LayersException
-	 */
-	// public ExpressionMatcher(List<EObject> searchRoots) {
-	// this.expression = "";
-	// setSearchRoots(searchRoots);
-	// // init matchingElements
-	// matchingElements = new ObservableListView<View>(new ArrayList<View>());
-	// }
-
-	/**
-	 *
-	 * Constructor.
-	 *
-	 * @param searchRoot
-	 * @throws LayersException
-	 */
-	public ExpressionMatcher(EObject searchRoot) {
-		this.expression = "";
-		setSearchRoots(Collections.singletonList(searchRoot));
-		// init matchingElements
-		matchingElements = new ArrayList<View>();
-	}
-
-	/**
-	 * Constructor.
-	 *
-	 * @param expression
-	 * @param searchRoots
-	 * @throws LayersException
-	 *             If the Condition can't be computed from the expression.
-	 */
-	public ExpressionMatcher(String expression, List<EObject> searchRoots) throws LayersException {
-		this.searchRoots = searchRoots;
-		matchingElements = new ArrayList<View>();
-
-		// compute expr
-		setExpression(expression);
-	}
-
-	/**
-	 * Constructor.
-	 *
-	 * @param expression
-	 * @param searchRoots
-	 * @throws LayersException
-	 *             If the Condition can't be computed from the expression.
-	 */
-	public ExpressionMatcher(String expression, List<View> matchingElementsList, List<EObject> searchRoots) throws LayersException {
-		this.searchRoots = searchRoots;
-		matchingElements = matchingElementsList;
-
-		// compute expr
-		setExpression(expression);
-	}
-
-	/**
-	 * Constructor.
-	 *
-	 * @param expression
-	 * @param searchRoots
-	 * @throws LayersException
-	 *             If the Condition can't be computed from the expression.
-	 */
-	public ExpressionMatcher(String expression, EObject searchRoot) throws LayersException {
-		this(expression, Collections.singletonList(searchRoot));
-	}
-
-	/**
-	 * Constructor.
-	 *
-	 * @param expression
-	 * @param searchRoots
-	 * @throws LayersException
-	 *             If the Condition can't be computed from the expression.
-	 */
-	public ExpressionMatcher(String expression, List<View> matchingElementsList, EObject searchRoot) throws LayersException {
-		this(expression, matchingElementsList, Collections.singletonList(searchRoot));
-	}
-
-	/**
-	 * Compute the condition from the expr.
-	 */
-	private void computeCondition() throws LayersException {
-		// silently fails if the expr is not set.
-		if (getExpression() == null || getExpression().length() == 0) {
-			return;
-		}
-
-		if (ocl == null) {
-			ocl = OCL.newInstance();
-		}
-		// Create the condition
-		try {
-			// If the 3rd args is null, this is a context free condition.
-
-			condition = new BooleanOCLCondition<EClassifier, EClass, EObject>(
-					ocl.getEnvironment(),
-					// "self.oclIsKindOf(Shape)",
-					// "self.oclIsKindOf(Shape) and self.oclAsType(Shape).visible = true",
-					// "self.oclAsType(Shape).visible = true",
-					getExpression(),
-					NotationPackage.Literals.VIEW
-			// null
-			);
-		} catch (ParserException e) {
-			// TODO Auto-generated catch block
-			condition = null;
-			throw new LayersException("Can't parse expression : " + e.getMessage(), e);
-		}
-
-	}
-
-	/**
-	 * Recompute the matching elements.
-	 * This lead to firing Events (added and removed)
-	 */
-	public void refreshMatchingElements() {
-
-
-		if (condition == null) {
-			// If the condition is not set, the list should be empty
-			if (!getMatchingElements().isEmpty()) {
-				resetMatchingElements(Collections.EMPTY_LIST);
-			}
-			return;
-		}
-
-		// Create the OCL statement
-		SELECT statement = new SELECT(SELECT.UNBOUNDED, false,
-				new FROM(getSearchRoots()), new WHERE(condition),
-				new NullProgressMonitor());
-
-		// Execute the OCL statement
-		IQueryResult results = statement.execute();
-
-		/**
-		 * Reset the matching elements with the new result.
-		 */
-		resetMatchingElements(results);
-	}
-
-	/**
-	 * Reset the {@link #matchingElements} and let it contain the specified collection.
-	 * This fire added and removed events.
-	 *
-	 * @param results
-	 */
-	@SuppressWarnings("unchecked")
-	private void resetMatchingElements(Collection<?> newElements) {
-
-		Collections3.resetListTo(matchingElements, (Collection<View>) newElements);
-		// matchingElements.resetTo((Collection<View>)newElements);
-
-		// // Compute views to add
-		// // This are views in the newElements, but not in the actual list of matchingElement
-		// // viewsToAdd = results - getViews()
-		// List<View> viewsToAdd = new ArrayList<View>();
-		// for( Object o : newElements ) {
-		// View v = (View)o;
-		// if( !getMatchingElements().contains(v)) {
-		// viewsToAdd.add(v);
-		// }
-		// }
-		//
-		// // Compute views to remove
-		// // Their is two ways to compute it:
-		// // - viewsToremove = diagramViews - results
-		// // - or viewsToremove = getViews() - result
-		// // Use the cheaper one.
-		// // The computed viewsToRemove list contains also views that are not in the layer,
-		// // But this is cheaper than checking for the existence.
-		//
-		// // List<View> viewsToRemove = new ArrayList<View>();
-		// // for( View v : (views.size()<getViews().size()?views:getViews()) ) {
-		// // if( !results.contains(v)) {
-		// // viewsToRemove.add(v);
-		// // }
-		// // }
-		//
-		// // Do operations
-		// getMatchingElements().retainAll(newElements);
-		// // getViews().removeAll(viewsToRemove);
-		// getMatchingElements().addAll(viewsToAdd);
-
-	}
-
-	/**
-	 * @return the expression
-	 */
-	public String getExpression() {
-		return expression;
-	}
-
-
-	/**
-	 * @param expression
-	 *            the expression to set
-	 * @throws LayersException
-	 *             If the Condition can't be computed from the expression.
-	 */
-	public void setExpression(String expression) throws LayersException {
-
-		if (expression == null || expression.length() == 0) {
-			// standardize noop expr
-			expression = "";
-		}
-		if (expression.equals(this.expression)) {
-			return;
-		}
-
-		this.expression = expression;
-
-		computeCondition();
-		refreshMatchingElements();
-	}
-
-
-	/**
-	 * @return the matchingElements
-	 */
-	public List<View> getMatchingElements() {
-		return matchingElements;
-	}
-
-
-	/**
-	 * @return the searchRoots
-	 */
-	public List<EObject> getSearchRoots() {
-		return searchRoots;
-	}
-
-	/**
-	 *
-	 * @param searchRoots
-	 */
-	public void setSearchRoots(List<EObject> searchRoots) {
-
-		// Remove any existing observers
-		removeSearchRootsObservers();
-
-		if (searchRoots == null) {
-			searchRoots = Collections.emptyList();
-		}
-		this.searchRoots = searchRoots;
-		// add observers on roots changes
-		addSearchRootsObservers();
-
-		// Do not refresh. Let user do it.
-	}
-
-	/**
-	 *
-	 * @param searchRoots
-	 */
-	public void setSearchRoots(EObject searchRoot) {
-		if (searchRoot == null) {
-			// Remove any existing observers
-			removeSearchRootsObservers();
-			searchRoots = Collections.emptyList();
-			return;
-		}
-
-		setSearchRoots(Collections.singletonList(searchRoot));
-	}
-
-	/**
-	 * Observes all searchRoots for changes. If a change occurs, refresh the matching elements.
-	 *
-	 */
-	protected void addSearchRootsObservers() {
-
-		if (searchRoots == null) {
-			return;
-		}
-
-
-		for (EObject root : searchRoots) {
-			ValueChangedEventNotifier notifier = ValueChangedEventNotifierFactory.instance.adapt(root);
-			notifier.addEventListener(this);
-		}
-	}
-
-	/**
-	 * Observes all searchRoots for changes. If a change occurs, refresh the matching elements.
-	 *
-	 */
-	protected void removeSearchRootsObservers() {
-
-		if (searchRoots == null) {
-			return;
-		}
-
-		for (EObject root : searchRoots) {
-			ValueChangedEventNotifier notifier = ValueChangedEventNotifierFactory.instance.adapt(root);
-			notifier.removeEventListener(this);
-		}
-	}
-
-	/**
-	 * Called when a value change in one of the elements of the observed roots.
-	 *
-	 * @param msg
-	 */
-	@Override
-	public void valueChanged(Notification msg) {
-		refreshMatchingElements();
-	}
-
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/IValueChangedEventListener.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/IValueChangedEventListener.java
deleted file mode 100755
index 96cfbca..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/IValueChangedEventListener.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.exprmatcher;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-
-
-/**
- * Class implementing this interface can listen to event from EObject.
- * This class is used by {@link ExpressionMatcher} to be informed when it need to be refreshed.
- *
- * @author cedric dumoulin
- *
- */
-public interface IValueChangedEventListener {
-
-	/**
-	 * Called by events when a property is changed in a {@link EObject}
-	 *
-	 * @param msg
-	 */
-	public void valueChanged(Notification msg);
-
-
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/ValueChangedEventNotifier.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/ValueChangedEventNotifier.java
deleted file mode 100755
index f07f347..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/ValueChangedEventNotifier.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.exprmatcher;
-
-import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EContentAdapter;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier.LayersTreeEventNotifier;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.UMLPackage;
-
-
-/**
- * An EMF {@link Adapter} listening on uml::NamedElement properties changes.
- *
- * This class listen to a {@link NamedElement} and send following events to listeners:
- * <ul>
- * <li>valueChanged</li>
- * </ul>
- *
- * @author cedric dumoulin
- *
- */
-public class ValueChangedEventNotifier extends EContentAdapter {
-
-	boolean isDisposed = false;
-
-	/**
-	 * List of listener to notify.
-	 */
-	protected List<IValueChangedEventListener> listeners = new ArrayList<IValueChangedEventListener>();
-
-	/**
-	 * Something happen on the tree of object
-	 *
-	 * @see org.eclipse.emf.ecore.util.EContentAdapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
-	 *
-	 * @param msg
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-
-		// Self atttach
-		super.notifyChanged(notification);
-
-		// Take into account the domain hierarchy found from the notation.
-
-		// Now, filter
-		if (isDiagramRootView(notification)) {
-			fireValueChangedEvent(notification);
-		} else if (isUmlDomainElementChanged(notification)) {
-			fireValueChangedEvent(notification);
-		}
-
-
-		// // We are only interested in NamedElement (from newValue if set, or oldValue if removed)
-		// Object newValue = notification.getNewValue();
-		// if( ! (newValue instanceof NamedElement || notification.getOldValue() instanceof NamedElement ) ) {
-		// return;
-		// }
-		// // Check diagram modification
-		// // There is 4 sources: View::persistedChildren and View::transientChildren
-		// // Diagram::persistedChildren and Diagram::transientChildren
-		// Object feature = notification.getFeature();
-		// if( feature == UMLPackage.eINSTANCE.getNamedElement()
-		// || feature == NotationPackage.eINSTANCE.getView_TransientChildren()
-		// || feature == NotationPackage.eINSTANCE.getDiagram_PersistedEdges()
-		// || feature == NotationPackage.eINSTANCE.getDiagram_TransientEdges() ) {
-		// // LayerOperator::layers || LayersStack::layers
-		// // check the event type.
-		// switch(notification.getEventType()) {
-		// case Notification.SET:
-		//
-		// break;
-		// case Notification.ADD:
-		// // A view is added
-		// fireValueChangedEvent(notification);
-		// break;
-		// case Notification.REMOVE:
-		// // A layer is removed
-		// fireDiagramViewRemovedEvent(notification);
-		// break;
-		// }
-		// }
-
-	};
-
-	/**
-	 * Return true if the notification indicates a change in a uml element.
-	 *
-	 * @param notification
-	 * @return
-	 */
-	private boolean isUmlDomainElementChanged(Notification notification) {
-		// Notifier should be the diagram
-		if (!(notification.getNotifier() instanceof NamedElement)) {
-			return false;
-		}
-
-		Object feature = notification.getFeature();
-
-		if (feature == UMLPackage.eINSTANCE.getNamedElement_Name()) {
-			// check the event type.
-			switch (notification.getEventType()) {
-			case Notification.SET:
-			case Notification.ADD:
-			case Notification.REMOVE:
-
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Return true if the notification indicates that a Diagram root view is modifified.
-	 *
-	 * @param notification
-	 * @return
-	 */
-	private boolean isDiagramRootView(Notification notification) {
-
-		// Notifier should be the diagram
-		if (!(notification.getNotifier() instanceof Diagram)) {
-			return false;
-		}
-
-		Object feature = notification.getFeature();
-
-		if (feature == NotationPackage.eINSTANCE.getView_PersistedChildren()
-				|| feature == NotationPackage.eINSTANCE.getView_TransientChildren()
-				|| feature == NotationPackage.eINSTANCE.getDiagram_PersistedEdges()
-				|| feature == NotationPackage.eINSTANCE.getDiagram_TransientEdges()) {
-			// LayerOperator::layers || LayersStack::layers
-			// check the event type.
-			switch (notification.getEventType()) {
-			case Notification.SET:
-			case Notification.ADD:
-			case Notification.REMOVE:
-
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * This Adapter is for {@link LayersTreeEventNotifier}.
-	 *
-	 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(java.lang.Object)
-	 *
-	 * @param type
-	 * @return
-	 */
-	@Override
-	public boolean isAdapterForType(Object type) {
-		return type == ValueChangedEventNotifier.class;
-	}
-
-	/**
-	 * Constructor.
-	 *
-	 * @param layersModel
-	 */
-	public ValueChangedEventNotifier() {
-	}
-
-	/**
-	 * Dispose the synchronizer
-	 */
-	public void dispose() {
-
-		if (isDisposed()) {
-			return;
-		}
-
-		isDisposed = true;
-		listeners.clear();
-	}
-
-	/**
-	 * Return true if the object is disposed.
-	 *
-	 * @return
-	 */
-	public boolean isDisposed() {
-		return isDisposed == true;
-	}
-
-	/**
-	 * Add the specified listener to the list of listener.
-	 * Do not add it if the listener is already in the list.
-	 *
-	 * @param listener
-	 */
-	public void addEventListener(IValueChangedEventListener listener) {
-
-		if (listener == null) {
-			return;
-		}
-
-		// Check if exist
-		if (listeners.contains(listener)) {
-			return;
-		}
-
-		listeners.add(listener);
-	}
-
-	/**
-	 * Remove the specified listener from the list of listeners.
-	 *
-	 * @param listener
-	 */
-	public void removeEventListener(IValueChangedEventListener listener) {
-
-		listeners.remove(listener);
-	}
-
-	/**
-	 * Called by events when a {@link LayersStack} is added to the {@link LayersStackApplication}
-	 *
-	 * @param msg
-	 */
-	protected void fireValueChangedEvent(Notification msg) {
-		for (IValueChangedEventListener listener : listeners) {
-			listener.valueChanged(msg);
-		}
-	}
-
-	/**
-	 * Handle View::element hierarchy in the self adapt mechanism.
-	 * Handles a notification by calling {@link #handleContainment handleContainment} for any containment-based notification.
-	 */
-	@Override
-	protected void selfAdapt(Notification notification) {
-		if (log.isDebugEnabled()) {
-			log.debug(this.getClass().getSimpleName() + ".selfAdapt(" + notification + ")");
-		}
-
-		if (notification.getFeature() == NotationPackage.eINSTANCE.getView_Element()) {
-			handleContainment(notification);
-		} else {
-			super.selfAdapt(notification);
-		}
-	}
-
-	/**
-	 * Handle View::element hierarchy in the self adapt mechanism.
-	 *
-	 * @see org.eclipse.emf.ecore.util.EContentAdapter#setTarget(org.eclipse.emf.ecore.EObject)
-	 *
-	 * @param target
-	 */
-	@Override
-	protected void setTarget(EObject target) {
-		if (log.isDebugEnabled()) {
-			log.debug(this.getClass().getSimpleName() + ".setTarget(" + target + ")");
-		}
-
-		// Handle the View::element tree
-		if (target instanceof View) {
-			EObject extraTarget = ((View) target).getElement();
-			if (extraTarget != null) {
-				log.info(this.getClass().getSimpleName() + ".setExtraTarget(" + extraTarget + ")");
-				// copied from org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EObject)
-				// basicSetTarget(target);
-				// Add the extra object
-				addAdapter(extraTarget);
-				// Add the content of the extra object
-				// for (Iterator<? extends Notifier> i = resolve() ?
-				// extraTarget.eContents().iterator() :
-				// ((InternalEList<? extends Notifier>)extraTarget.eContents()).basicIterator();
-				// i.hasNext(); )
-				// {
-				// Notifier notifier = i.next();
-				// addAdapter(notifier);
-				// }
-
-			}
-		}
-	}
-
-	/**
-	 * Handle View::element hierarchy in the self adapt mechanism.
-	 *
-	 * @see org.eclipse.emf.ecore.util.EContentAdapter#unsetTarget(org.eclipse.emf.ecore.EObject)
-	 *
-	 * @param target
-	 */
-	@Override
-	protected void unsetTarget(EObject target) {
-		// TODO Auto-generated method stub
-		super.unsetTarget(target);
-		// Handle the View::element tree
-		if (target instanceof View) {
-			EObject extraTarget = ((View) target).getElement();
-			if (extraTarget != null) {
-				// copied from org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EObject)
-				// basicSetTarget(target);
-				// Remove the extra object
-				removeAdapter(extraTarget);
-				// Remove contents of the extra object
-				// for (Iterator<? extends Notifier> i = resolve() ?
-				// extraTarget.eContents().iterator() :
-				// ((InternalEList<? extends Notifier>)extraTarget.eContents()).basicIterator();
-				// i.hasNext(); )
-				// {
-				// Notifier notifier = i.next();
-				// removeAdapter(notifier);
-				// }
-
-			}
-		}
-	}
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/ValueChangedEventNotifierFactory.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/ValueChangedEventNotifierFactory.java
deleted file mode 100755
index fb0f66c..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/exprmatcher/ValueChangedEventNotifierFactory.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 Cedric Dumoulin.
- *
- *
- * 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:
- *  Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.exprmatcher;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
-
-/**
- * Factory used to create a {@link ValueChangedEventNotifier}.
- * The factory ensures that there is only one Notifier for a given {@link LayersStack}.
- *
- * @author cedric dumoulin
- *
- */
-public class ValueChangedEventNotifierFactory extends AdapterFactoryImpl {
-
-	/**
-	 * Global factory.
-	 */
-	static public ValueChangedEventNotifierFactory instance = new ValueChangedEventNotifierFactory();
-
-	/**
-	 * Convenience method.
-	 *
-	 * @param target
-	 * @return
-	 */
-	public ValueChangedEventNotifier adapt(Notifier target) {
-		return (ValueChangedEventNotifier) adapt(target, ValueChangedEventNotifier.class);
-	}
-
-	/**
-	 *
-	 * @see org.eclipse.emf.common.notify.impl.AdapterFactoryImpl#createAdapter(org.eclipse.emf.common.notify.Notifier)
-	 *
-	 * @param target
-	 * @return
-	 */
-	@Override
-	protected Adapter createAdapter(Notifier target) {
-		return new ValueChangedEventNotifier();
-	}
-
-	/**
-	 * This Factory is for {@link ValueChangedEventNotifier}.
-	 *
-	 * @see org.eclipse.emf.common.notify.impl.AdapterFactoryImpl#isFactoryForType(java.lang.Object)
-	 *
-	 * @param type
-	 * @return
-	 */
-	@Override
-	public boolean isFactoryForType(Object type) {
-		return type == ValueChangedEventNotifier.class;
-	}
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomAllViewsDerivedLayerImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomAllViewsDerivedLayerImpl.java
new file mode 100755
index 0000000..11e33d4
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomAllViewsDerivedLayerImpl.java
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.AllViewsDerivedLayerImpl;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util.DiagramViewToListSynchronizer;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomAllViewsDerivedLayerImpl extends AllViewsDerivedLayerImpl {
+	/**
+	 * Object used to synchronize a list with the diagram's views.
+	 *
+	 * @generated
+	 */
+	protected DiagramViewToListSynchronizer viewsListSynchronizer;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomAllViewsDerivedLayerImpl() {
+		super();
+		// init the synchronizer
+		viewsListSynchronizer = new DiagramViewToListSynchronizer(getViews());
+	}
+
+	/**
+	 * This layer has just been added to a LayerStack.
+	 * Set the root of the expression.
+	 * Set the views to match the result of the expression.
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#initLayer(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack)
+	 *
+	 * @param owningLayersStack
+	 */
+	@Override
+	public void initLayer(LayersStack owningLayersStack) {
+		super.initLayer(owningLayersStack);
+
+		if (log.isDebugEnabled()) {
+			log.debug(this.getClass().getSimpleName() + ".initLayer(" + owningLayersStack + ")");
+		}
+
+		// Set the diagram associated to this tree of layers
+		viewsListSynchronizer.setDiagram(owningLayersStack.getDiagram());
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSHideInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSHideInstanceImpl.java
new file mode 100755
index 0000000..82c968f
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSHideInstanceImpl.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideInstanceImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomCSSHideInstanceImpl extends CSSHideInstanceImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public TypeInstance getCmdValue() throws LayersException {
+		// By default, we return the instance itself, as there
+		// is nothing more to compute.
+		return this;
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSHidePropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSHidePropertySetterImpl.java
new file mode 100755
index 0000000..233d801
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSHidePropertySetterImpl.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHidePropertySetterImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomCSSHidePropertySetterImpl extends CSSHidePropertySetterImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 */
+	protected CustomCSSHidePropertySetterImpl() {
+		super();
+		setPropertyName("cssHide");
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterImpl#setValue(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance)
+	 *
+	 * @param view
+	 * @param value
+	 */
+	@Override
+	public void setValue(View view, TypeInstance value) {
+
+
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSHideTypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSHideTypeImpl.java
new file mode 100755
index 0000000..3356ac9
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSHideTypeImpl.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSHideTypeImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomCSSHideTypeImpl extends CSSHideTypeImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 */
+	protected CustomCSSHideTypeImpl() {
+		super();
+		setName("CSSHideType");
+	}
+
+	@Override
+	public org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance createInstance() {
+		return LayersFactory.eINSTANCE.createCSSHideInstance();
+	};
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSInstanceImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSInstanceImpl.java
new file mode 100755
index 0000000..538f5cb
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSInstanceImpl.java
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSInstanceImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomCSSInstanceImpl extends CSSInstanceImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public TypeInstance getCmdValue() throws LayersException {
+		// By default, we return the instance itself, as there
+		// is nothing more to compute.
+		return this;
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSPropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSPropertySetterImpl.java
new file mode 100755
index 0000000..e31a8db
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSPropertySetterImpl.java
@@ -0,0 +1,156 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.StringListValueStyle;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForResource;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSStyles;
+import org.eclipse.papyrus.infra.gmfdiag.css.properties.databinding.AddCSSStyleSheetCommand;
+import org.eclipse.papyrus.infra.gmfdiag.css.properties.databinding.AddCssClassStyleCommand;
+import org.eclipse.papyrus.infra.gmfdiag.css.stylesheets.EmbeddedStyleSheet;
+import org.eclipse.papyrus.infra.gmfdiag.css.stylesheets.StyleSheet;
+import org.eclipse.papyrus.infra.gmfdiag.css.stylesheets.StyleSheetReference;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSInstance;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSPropertySetterImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomCSSPropertySetterImpl extends CSSPropertySetterImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 */
+	protected CustomCSSPropertySetterImpl() {
+		super();
+		setPropertyName("css");
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterImpl#setValue(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance)
+	 *
+	 * @param view
+	 * @param value
+	 */
+	@Override
+	public void setValue(View view, TypeInstance value) {
+		Diagram d = view.getDiagram();
+		StyleSheet ass;
+		CSSDiagram cssD = null;
+		TransactionalEditingDomain ted = null;
+
+		EList<EStructuralFeature> features = view.eClass().getEStructuralFeatures();
+
+		CSSInstance associatedCSS = (CSSInstance) value;
+		StyleSheet sheet = associatedCSS.getStylesheet();
+
+		// System.err.println(view);
+		// System.err.println(value);
+
+		// CHeck if there is a styleSheet reference associated
+		if (sheet == null) {
+			return;
+		}
+
+		if (d instanceof CSSDiagram) {
+			cssD = (CSSDiagram) d;
+			// Get the Transactional Editing Domain associated to the diagram
+			try {
+				ted = ServiceUtilsForResource.getInstance().getTransactionalEditingDomain(view.eResource());
+			} catch (ServiceException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+
+			// TODO find a way to remove a reference
+			// if (!(cssD.getStyleSheets().isEmpty())) {
+			// RemoveAllCSSStyleSheetValueCommand racssvc = new RemoveAllCSSStyleSheetValueCommand(ted, cssD,
+			// CSSStyles.CSS_DIAGRAM_STYLESHEETS_KEY,
+			// NotationPackage.eINSTANCE.getEObjectListValueStyle(),
+			// NotationPackage.eINSTANCE.getEObjectListValueStyle_EObjectListValue(),
+			// Collections.singleton(sheet));
+			// racssvc.execute();
+			// System.out.println("done!");
+			// }
+
+			String sheetPath = ((StyleSheetReference) sheet).getPath();
+			boolean sheetIsApplied = false;
+			for (StyleSheet ss : cssD.getStyleSheets()) {
+				String ssPath = ((StyleSheetReference) ss).getPath();
+				if (sheetPath.equals(ssPath)) {
+					sheetIsApplied = true;
+					// There may be discrepancies in the memory addresses between the layer's CSS and the model's
+					// Always revert to the model's CSS as it is the one being used
+					sheet = ss;
+					break;
+				}
+			}
+
+			if (!sheetIsApplied) {
+				if (sheet instanceof StyleSheetReference) {
+					sheet = EcoreUtil.copy(sheet);
+				} else if (sheet instanceof EmbeddedStyleSheet) {
+					// TODO if needed
+				}
+
+				AddCSSStyleSheetCommand aacssc = new AddCSSStyleSheetCommand(ted, cssD,
+						CSSStyles.CSS_DIAGRAM_STYLESHEETS_KEY,
+						NotationPackage.eINSTANCE.getEObjectListValueStyle(),
+						NotationPackage.eINSTANCE.getEObjectListValueStyle_EObjectListValue(),
+						sheet);
+				aacssc.execute();
+			}
+
+			// Apply the style to the view if it has not been previously
+			String style = associatedCSS.getStyle();
+			if (style == null) {
+				return;
+			}
+
+			List<String> appliedStyles = new ArrayList<String>();
+			for (Object o : view.getStyles()) {
+				if (!(o instanceof StringListValueStyle)) {
+					continue;
+				}
+				StringListValueStyle slvs = (StringListValueStyle) o;
+				if (!slvs.getStringListValue().isEmpty()) {
+					appliedStyles.add((String) slvs.getStringListValue().get(0));
+				}
+			}
+			// There is a refresh problem on the style display in the property view,
+			// undo/redo multiply the style without applying it multiple times
+			if (appliedStyles.isEmpty() || !appliedStyles.contains(style)) {
+				AddCssClassStyleCommand accsc = new AddCssClassStyleCommand(ted, view, style);
+				accsc.execute();
+			}
+		}
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSTypeImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSTypeImpl.java
new file mode 100755
index 0000000..d4bc34b
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomCSSTypeImpl.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.CSSTypeImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomCSSTypeImpl extends CSSTypeImpl {
+
+	protected CustomCSSTypeImpl() {
+		super();
+		setName("CSSType");
+	}
+
+
+	@Override
+	public org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance createInstance() {
+		return LayersFactory.eINSTANCE.createCSSInstance();
+	};
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayerOperatorDescriptorRegistryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayerOperatorDescriptorRegistryImpl.java
new file mode 100755
index 0000000..164a3e6
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayerOperatorDescriptorRegistryImpl.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorDescriptorRegistryImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomLayerOperatorDescriptorRegistryImpl extends LayerOperatorDescriptorRegistryImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomLayerOperatorDescriptorRegistryImpl() {
+		super();
+		// Set the defaultOperator
+		defaultOperator = LayersFactory.eINSTANCE.createPropertyOperator();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void setPropertyCollectionSize(int newPropertyCollectionSize) {
+		int oldPropertyCollectionSize = propertyCollectionSize;
+		propertyCollectionSize = newPropertyCollectionSize;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.LAYER_OPERATOR_DESCRIPTOR_REGISTRY__PROPERTY_COLLECTION_SIZE, oldPropertyCollectionSize, propertyCollectionSize));
+		}
+
+		// Propagate the size to registered LayerOperator
+		if (newPropertyCollectionSize > oldPropertyCollectionSize) {
+			for (LayerOperatorDescriptor descriptor : getDescriptors()) {
+				descriptor.setPropertyCollectionSize(newPropertyCollectionSize, getDefaultOperator());
+			}
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void addLayerOperatorDescriptor(LayerOperatorDescriptor descriptor) {
+
+		// Ensure descriptor size
+		descriptor.setPropertyCollectionSize(getPropertyCollectionSize(), getDefaultOperator());
+		// Add descriptor
+		getDescriptors().add(descriptor);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public LayerOperatorDescriptor getLayerOperatorDescriptor(String name) throws NotFoundException {
+		if (name == null) {
+			throw new NotFoundException("Can't find LayerOperatorDescriptor for name 'null'.");
+		}
+		for (LayerOperatorDescriptor descriptor : getDescriptors()) {
+			if (name.equals(descriptor.getName())) {
+				return descriptor;
+			}
+		}
+		// Not found
+		throw new NotFoundException("Can't find LayerOperatorDescriptor for name '" + name + "'.");
+
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void addPropertyOperator(PropertyOperator operator) {
+		getPropertyOperators().add(operator);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public PropertyOperator getPropertyOperator(String name) throws NotFoundException {
+
+		if (name == null) {
+			throw new NotFoundException("Can't find PropertyOperator for name 'null'.");
+		}
+		for (PropertyOperator op : getPropertyOperators()) {
+			if (name.equals(op.getName())) {
+				return op;
+			}
+		}
+		// Not found
+		throw new NotFoundException("Can't find PropertyOperator for name '" + name + "'.");
+
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @throws NotFoundException
+	 */
+	@Override
+	public void attachOperatorToDescriptor(Property property, String operatorName, String layerDescriptorName) throws NotFoundException {
+
+		// Ensure that PropertiesCollectionSize can contain the property index.
+		if (getPropertyCollectionSize() <= property.getIndex()) {
+			setPropertyCollectionSize(property.getIndex());
+		}
+
+		// Attach the operator to the LayerOperator
+		PropertyOperator op = getPropertyOperator(operatorName);
+		LayerOperatorDescriptor layerOp = getLayerOperatorDescriptor(layerDescriptorName);
+
+		layerOp.setPropertyOperator(property, op);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public LayerOperator createLayerOperator(String layerOperatorID) throws LayersException {
+
+		LayerOperatorDescriptor desc = getLayerOperatorDescriptor(layerOperatorID);
+
+		LayerOperator newLayerOperator = desc.createLayerOperator();
+
+		// newLayerOperator.setApplication();
+		return newLayerOperator;
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayersFactory.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayersFactory.java
new file mode 100755
index 0000000..bec950c
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayersFactory.java
@@ -0,0 +1,234 @@
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AllViewsDerivedLayer;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSHideInstance;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSHidePropertySetter;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSHideType;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSInstance;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSPropertySetter;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CSSType;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptorRegistry;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Metamodel;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.NullPropertySetter;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetterRegistry;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperatorDescriptor;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperatorDescriptor;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeRegistry;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl;
+
+public class CustomLayersFactory extends LayersFactoryImpl {
+
+	public CustomLayersFactory() {
+		// should never be required
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createCSSType()
+	 *
+	 * @return
+	 */
+	@Override
+	public CSSType createCSSType() {
+		return new CustomCSSTypeImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createCSSPropertySetter()
+	 *
+	 * @return
+	 */
+	@Override
+	public CSSPropertySetter createCSSPropertySetter() {
+		return new CustomCSSPropertySetterImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createCSSHidePropertySetter()
+	 *
+	 * @return
+	 */
+	@Override
+	public CSSHidePropertySetter createCSSHidePropertySetter() {
+		return new CustomCSSHidePropertySetterImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createCSSHideType()
+	 *
+	 * @return
+	 */
+	@Override
+	public CSSHideType createCSSHideType() {
+		return new CustomCSSHideTypeImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createAllViewsDerivedLayer()
+	 *
+	 * @return
+	 */
+	@Override
+	public AllViewsDerivedLayer createAllViewsDerivedLayer() {
+		return new CustomAllViewsDerivedLayerImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createStackedLayerOperator()
+	 *
+	 * @return
+	 */
+	@Override
+	public StackedLayerOperator createStackedLayerOperator() {
+		return new CustomStackedLayerOperatorImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createTopLayerOperatorDescriptor()
+	 *
+	 * @return
+	 */
+	@Override
+	public TopLayerOperatorDescriptor createTopLayerOperatorDescriptor() {
+		return new CustomTopLayerOperatorDescriptorImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createStackedLayerOperatorDescriptor()
+	 *
+	 * @return
+	 */
+	@Override
+	public StackedLayerOperatorDescriptor createStackedLayerOperatorDescriptor() {
+		return new CustomStackedLayerOperatorDescriptorImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createCSSInstance()
+	 *
+	 * @return
+	 */
+	@Override
+	public CSSInstance createCSSInstance() {
+		return new CustomCSSInstanceImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createCSSHideInstance()
+	 *
+	 * @return
+	 */
+	@Override
+	public CSSHideInstance createCSSHideInstance() {
+		return new CustomCSSHideInstanceImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createTypeRegistry()
+	 *
+	 * @return
+	 */
+	@Override
+	public TypeRegistry createTypeRegistry() {
+		return new CustomTypeRegistryImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createPropertySetterRegistry()
+	 *
+	 * @return
+	 */
+	@Override
+	public PropertySetterRegistry createPropertySetterRegistry() {
+		return new CustomPropertySetterRegistryImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createLayersStack()
+	 *
+	 * @return
+	 */
+	@Override
+	public LayersStack createLayersStack() {
+		return new CustomLayersStackImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createPropertyRegistry()
+	 *
+	 * @return
+	 */
+	@Override
+	public PropertyRegistry createPropertyRegistry() {
+		return new CustomPropertyRegistryImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createCustomPropertyOperator()
+	 *
+	 * @return
+	 */
+	@Override
+	public PropertyOperator createPropertyOperator() {
+		return new CustomPropertyOperatorImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createLayerOperatorDescriptorRegistry()
+	 *
+	 * @return
+	 */
+	@Override
+	public LayerOperatorDescriptorRegistry createLayerOperatorDescriptorRegistry() {
+		return new CustomLayerOperatorDescriptorRegistryImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createLayersStackApplication()
+	 *
+	 * @return
+	 */
+	@Override
+	public LayersStackApplication createLayersStackApplication() {
+		return new CustomLayersStackApplicationImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createNullPropertySetter()
+	 *
+	 * @return
+	 */
+	@Override
+	public NullPropertySetter createNullPropertySetter() {
+		return new CustomNullPropertySetterImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createProperty()
+	 *
+	 * @return
+	 */
+	@Override
+	public Property createProperty() {
+		return new CustomPropertyImpl();
+	}
+
+	/**
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersFactoryImpl#createTopLayerOperator()
+	 *
+	 * @return
+	 */
+	@Override
+	public TopLayerOperator createTopLayerOperator() {
+		return new CustomTopLayerOperatorImpl();
+	}
+
+
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayersStackApplicationImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayersStackApplicationImpl.java
new file mode 100755
index 0000000..6bb4a74
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayersStackApplicationImpl.java
@@ -0,0 +1,179 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerApplicationFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerDescriptorRegistry;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptorRegistry;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerStackDescriptorRegistry;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetterRegistry;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersStackApplicationImpl;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.loaders.LayersConfigModel;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.loaders.RegistriesLoader;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomLayersStackApplicationImpl extends LayersStackApplicationImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomLayersStackApplicationImpl() {
+		super();
+		init();
+	}
+
+	/**
+	 * Init the class
+	 * Create the internal objects : {@link PropertyRegistry}, {@link LayerStackDescriptorRegistry}.
+	 */
+	protected void init() {
+		// Create the PropertyRegistry
+		PropertyRegistry propertyRegistry = LayersFactory.eINSTANCE.createPropertyRegistry();
+		setPropertyRegistry(propertyRegistry);
+
+		// Create the LayerStackDescriptorRegistry
+		LayerStackDescriptorRegistry layerStackDescriptorRegistry = LayersFactory.eINSTANCE.createLayerStackDescriptorRegistry();
+		setLayerStackRegistry(layerStackDescriptorRegistry);
+
+		// Create the LayerDescriptorRegistry
+		LayerDescriptorRegistry layerDescriptorRegistry = LayersFactory.eINSTANCE.createLayerDescriptorRegistry();
+		setLayerDescriptorRegistry(layerDescriptorRegistry);
+
+		// Create the config model and the registries loader
+		LayersConfigModel configModel = LayersConfigModel.getInstance();
+		RegistriesLoader registriesLoader = new RegistriesLoader(configModel);
+
+		// Create the LayerOperatorDescriptorRegistry
+		LayerOperatorDescriptorRegistry layerOperatorDescriptorRegistry = LayersFactory.eINSTANCE.createLayerOperatorDescriptorRegistry();
+		layerOperatorDescriptorRegistry.setPropertyCollectionSize(propertyRegistry.getPropertiesCount());
+
+		registriesLoader.loadLayerOperatorDescriptorRegistry(layerOperatorDescriptorRegistry, propertyRegistry);
+		setLayerOperatorDescriptorRegistry(layerOperatorDescriptorRegistry);
+
+		// Create the LayerApplicationFactory
+		LayerApplicationFactory layerApplicationFactory = LayersFactory.eINSTANCE.createLayerApplicationFactory();
+		setFactory(layerApplicationFactory);
+
+		// Create the PropertySetterRegistry
+		PropertySetterRegistry propertySetterRegistry = LayersFactory.eINSTANCE.createPropertySetterRegistry();
+		propertySetterRegistry.setApplication(this);
+		setPropertySetterRegistry(propertySetterRegistry);
+
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void removeLayersStackFor(Diagram diagram) {
+
+		try {
+			LayersStack stack = lookupLayersStackFor(diagram);
+			getLayersStacks().remove(stack);
+		} catch (NotFoundException e) {
+			// silently fails
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public boolean isLayersStackAttachedFor(Diagram diagram) {
+		try {
+			lookupLayersStackFor(diagram);
+			return true;
+		} catch (NotFoundException e) {
+			// not found
+			return false;
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public LayersStack lookupLayersStackFor(Diagram diagram) throws NotFoundException {
+		for (LayersStack stack : getLayersStacks()) {
+			if (stack.getDiagram() == diagram) {
+				return stack;
+			}
+		}
+
+		// Not found
+		throw new NotFoundException("No LayersStack attached for diagram: " + diagram);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Get the {@link LayersStack} for the specified diagram. Create it if
+	 * necessary.
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public LayersStack getLayersStackFor(Diagram diagram) {
+		try {
+			return lookupLayersStackFor(diagram);
+		} catch (NotFoundException e) {
+			// Create a new one
+			return createLayersStackFor(diagram);
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Create a new LayersStack for the specified diagram.
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public LayersStack createLayersStackFor(Diagram diagram) {
+
+		// Create a new LayerStack and add it to application (this)
+		LayersStack layer = LayersFactory.eINSTANCE.createLayersStack();
+		layer.startAfterCreation();
+		layer.setDiagram(diagram);
+
+		// Create first layer in stack
+		TopLayerOperator rootLayer = LayersFactory.eINSTANCE.createTopLayerOperator();
+		rootLayer.setName("Top Layer");
+		rootLayer.setApplication(this);
+		layer.setLayers(rootLayer);
+
+		// attach stack to application
+		getLayersStacks().add(layer);
+
+
+		return layer;
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayersStackImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayersStackImpl.java
new file mode 100755
index 0000000..5ec360d
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomLayersStackImpl.java
@@ -0,0 +1,247 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.BadStateException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerState;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayersStackImpl;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier.ILayersTreeEventListener;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier.LayersTreeEventNotifier;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.notifier.LayersTreeEventNotifierFactory;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomLayersStackImpl extends LayersStackImpl {
+
+
+
+	/**
+	 * Listener on layers tree events.
+	 * This listener take in charge the initialization of added layers.
+	 */
+	private ILayersTreeEventListener layersTreeEventListener = new ILayersTreeEventListener() {
+
+		@Override
+		public void layerSet(Notification notification) {
+			CustomLayersStackImpl.this.layerAdded((LayerExpression) notification.getNewValue());
+		}
+
+		@Override
+		public void layerRemoved(Notification notification) {
+			// nothing to do
+
+		}
+
+		@Override
+		public void layerMoved(Notification notification) {
+			// nothing to do
+
+		}
+
+		@Override
+		public void layerAdded(Notification notification) {
+			CustomLayersStackImpl.this.layerAdded((LayerExpression) notification.getNewValue());
+		}
+
+	};
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomLayersStackImpl() {
+		super();
+
+		// Now, init should be called explicitly after creation.
+		// init();
+	}
+
+	/**
+	 * Init this object.
+	 * Create a listener on tree events.
+	 */
+	private void init() {
+
+		LayersTreeEventNotifier layersTreeEventnotifier = LayersTreeEventNotifierFactory.instance.adapt(this);
+
+		layersTreeEventnotifier.addLayersModelEventListener(layersTreeEventListener);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @throws LayersException
+	 */
+	@Override
+	public ComputePropertyValueCommand getComputePropertyValueCommand(View view, Property property) throws LayersException {
+		LayerExpression layers = getLayers();
+		if (layers == null) {
+			throw new BadStateException("Layers should be set first.");
+		}
+
+		return layers.getComputePropertyValueCommand(view, property);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Start this LayersStack after its creation. This method should be explicitly called by
+	 * user after the creation of a LayersStack.
+	 * <!-- end-user-doc -->
+	 *
+	 * @deprecated Not used anymore
+	 */
+	@Deprecated
+	@Override
+	public void startAfterCreation() {
+		// Ensure child is initialized, if any
+		if (getLayers() != null) {
+			getLayers().attachToLayersStack(this);
+		}
+
+		// Start local behaviors
+		init();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Attach recursively the tree of layers.
+	 * <!-- end-user-doc -->
+	 *
+	 * @throws LayersException
+	 */
+	@Override
+	public void attachLayers() throws LayersException {
+		// Ensure child is started, if any
+		if (getLayers() != null) {
+			getLayers().attach();
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void attach() throws LayersException {
+		// Stop if already in ATTACHED state.
+		if (getState() == LayerState.ATTACHED) {
+			return;
+		}
+
+		// Check required attributes
+		if (getDiagram() == null) {
+			throw new BadStateException("A required attribute is not set. The Layer can't be attached."
+					+ "[layerName=" + getName()
+					+ ", diagram=" + (getDiagram() == null ? "null" : "ok")
+					+ "]");
+		}
+
+		// Can go in attached mode
+		setState(LayerState.ATTACHED);
+		enterAttachedState();
+		attachLayers();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void detach() throws LayersException {
+		// Change the state
+		exitAttachedState();
+		setState(LayerState.DETACHED);
+		// Ensure child is started, if any
+		if (getLayers() != null) {
+			getLayers().detach();
+		}
+
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void enterAttachedState() throws LayersException {
+		init();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @throws LayersException
+	 */
+	@Override
+	public List<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> property) throws LayersException {
+		LayerExpression layers = getLayers();
+		if (layers == null) {
+			throw new BadStateException("Layers should be set first.");
+		}
+
+		return layers.getPropertiesComputePropertyValueCommand(view, property);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @throws BadStateException
+	 */
+	@Override
+	public List<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> view, Property property) throws LayersException {
+
+		LayerExpression layers = getLayers();
+		if (layers == null) {
+			throw new BadStateException("Layers should be set first.");
+		}
+
+		return layers.getViewsComputePropertyValueCommand(view, property);
+	}
+
+	/**
+	 * A layer has been added to the layerTree.
+	 * Init this layer.
+	 * This method is called by the listener on layerTree events.
+	 *
+	 * @param addedLayer
+	 *            The added layer.
+	 */
+	protected void layerAdded(LayerExpression addedLayer) {
+		// Stop if there is no layer
+		if (addedLayer == null) {
+			return;
+		}
+		// init the layer
+		addedLayer.attachToLayersStack(this);
+
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomNullPropertySetterImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomNullPropertySetterImpl.java
new file mode 100755
index 0000000..bf91a82
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomNullPropertySetterImpl.java
@@ -0,0 +1,33 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.NullPropertySetterImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomNullPropertySetterImpl extends NullPropertySetterImpl {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomNullPropertySetterImpl() {
+		super();
+		setPropertyName("NullPropertySetter");
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertyImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertyImpl.java
new file mode 100755
index 0000000..562c028
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertyImpl.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.BadStateException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomPropertyImpl extends PropertyImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @throws BadStateException
+	 */
+	@Override
+	public TypeInstance createInstance() throws BadStateException {
+
+		if (type == null) {
+			throw new BadStateException("Property '" + getName() + "', type must be set to create an instance");
+		}
+
+		// Create an instance
+		TypeInstance instance = type.createInstance();
+		// Set the default value if needed
+		if (getDefaultValue() != null) {
+			instance.setValueFromInstance(getDefaultValue());
+		}
+
+		return instance;
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertyOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertyOperatorImpl.java
new file mode 100755
index 0000000..648f72e
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertyOperatorImpl.java
@@ -0,0 +1,137 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyOperatorImpl;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.ServiceException;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomPropertyOperatorImpl extends PropertyOperatorImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void setClassname(String newClassname) {
+		String oldClassname = classname;
+		classname = newClassname;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.PROPERTY_OPERATOR__CLASSNAME, oldClassname, classname));
+		}
+		// Reset the actual instance
+		setOperatorInstance(null);
+
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public PropertyOperator getOperatorInstance() {
+		if (operatorInstance == null) {
+			try {
+				resetOperatorInstance();
+			} catch (LayersException e) {
+				// TODO log the error
+				log.error("LOG-" + this.getClass().getName()
+						+ "- Can't set custom operator instance '" + e.getMessage() + "'.", e);
+
+			}
+		}
+
+		return operatorInstance;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @throws LayersException
+	 */
+	@Override
+	public void resetOperatorInstance() throws LayersException {
+		if (getClassname() == null) {
+			return;
+		}
+
+		Class<?> opClass = loadClass();
+		try {
+			setOperatorInstance((PropertyOperator) opClass.newInstance());
+		} catch (Exception e) {
+			throw new LayersException("Can't create instance for CustomOperator " + getName(), e);
+		}
+	}
+
+	/**
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyOperatorImpl#getComputePropertyValueCommand(org.eclipse.emf.common.util.EList)
+	 *
+	 * @param property
+	 * @return
+	 * @throws LayersException
+	 */
+	@Override
+	public ComputePropertyValueCommand getComputePropertyValueCommand(List<ComputePropertyValueCommand> property) throws LayersException {
+		return getOperatorInstance().getComputePropertyValueCommand(property);
+	}
+
+	/**
+	 * Load the Class object. Try from current ClassLoader, then try using the
+	 * plugin referenced in the serviceDescriptor.PluginId
+	 *
+	 * @return
+	 * @throws ServiceException
+	 */
+	private Class<?> loadClass() throws LayersException {
+		String classname = getClassname();
+		Class<?> classDesc;
+		try {
+			classDesc = Class.forName(classname);
+		} catch (ClassNotFoundException e1) {
+			// Try using bundle
+			try {
+				String bundleID = getClassBundleID();
+				Bundle bundle = Platform.getBundle(bundleID);
+				classDesc = bundle.loadClass(classname);
+			} catch (ClassNotFoundException e2) {
+				throw new LayersException("Can't find class for the name '" + classname + "'.", e2);
+			} catch (NullPointerException e) {
+				throw new LayersException("Can't find bundle '" + getClassBundleID()
+						+ "' for class for the name '" + classname + "'.", e);
+			}
+		}
+
+		return classDesc;
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertyRegistryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertyRegistryImpl.java
new file mode 100755
index 0000000..98a7687
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertyRegistryImpl.java
@@ -0,0 +1,145 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import java.util.List;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeRegistry;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertyRegistryImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomPropertyRegistryImpl extends PropertyRegistryImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomPropertyRegistryImpl() {
+		super();
+		// initialie transient ref
+		init();
+	}
+
+	/**
+	 * Init the transient references
+	 * Create the internal objects : TypeRegistry.
+	 */
+	protected void init() {
+		// Create the TypeRegistry
+		TypeRegistry typeRegistry = LayersFactory.eINSTANCE.createTypeRegistry();
+		setTypeRegistry(typeRegistry);
+
+		// Initialize the list of properties
+		String[] properties = new String[] {
+				"css", "CSSType", "",
+				"cssHide", "CSSHideType", "",
+		};
+
+		for (int i = 0; i < properties.length; i += 3) {
+
+
+			Property property = LayersFactory.eINSTANCE.createProperty();
+			property.setName(properties[i]);
+			Type propertyType = typeRegistry.getTypes().get(properties[i + 1]);
+			property.setType(propertyType);
+			// Create Default value
+			String defaultValueStr = properties[i + 2];
+			if (defaultValueStr != null && defaultValueStr.length() > 0) {
+				TypeInstance defaultValue = propertyType.createInstance();
+				defaultValue.setValueFromString(defaultValueStr);
+				property.setDefaultValue(defaultValue);
+			}
+
+			addProperty(property);
+			// getProperties().add(property);
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public int getPropertiesCount() {
+		return getProperties().size();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public int getPropertyIndex(String propertyName) throws NotFoundException {
+
+		if (propertyName == null) {
+			throw new NotFoundException("Null not Allowed");
+		}
+		List<Property> props = getProperties();
+		for (int i = 0; i < props.size(); i++) {
+			if (propertyName.equals(props.get(i).getName())) {
+				return i;
+			}
+		}
+
+		// Not found
+		throw new NotFoundException("No property found with name '" + propertyName + "'");
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public Property getProperty(String propertyName) throws NotFoundException {
+
+		int index = getPropertyIndex(propertyName);
+		return getProperties().get(index);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void addProperty(Property property) {
+
+		// Check if the property already exist
+		try {
+			getProperty(property.getName());
+			// Already exist ==> return
+			return;
+		} catch (NotFoundException e) {
+			// ok
+		}
+
+		// set the index
+		property.setIndex(getProperties().size());
+		// Add the property
+		getProperties().add(property);
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertySetterRegistryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertySetterRegistryImpl.java
new file mode 100755
index 0000000..584fd4f
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomPropertySetterRegistryImpl.java
@@ -0,0 +1,159 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import java.util.List;
+
+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.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertySetter;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.PropertySetterRegistryImpl;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util.PropertyIndexedList;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomPropertySetterRegistryImpl extends PropertySetterRegistryImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomPropertySetterRegistryImpl() {
+		super();
+		init();
+	}
+
+	/**
+	 * Initialize the registry with some setters
+	 */
+	protected void init() {
+		addPropertySetter(LayersFactory.eINSTANCE.createCSSPropertySetter());
+		addPropertySetter(LayersFactory.eINSTANCE.createCSSHidePropertySetter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public EList<PropertySetter> getPropertySetters() {
+		// if (propertySetters == null) {
+		// propertySetters = new EObjectResolvingEList<PropertySetter>(PropertySetter.class, this, LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS);
+		// }
+		if (propertySetters == null) {
+			propertySetters = new PropertyIndexedList<PropertySetter>(getSetterMap(), PropertySetter.class, this, LayersPackage.PROPERTY_SETTER_REGISTRY__PROPERTY_SETTERS, LayersPackage.PROPERTY_SETTER_REGISTRY__SETTER_MAP,
+					LayersFactory.eINSTANCE.createNullPropertySetter());
+		}
+		return propertySetters;
+	}
+
+
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void setApplication(LayersStackApplication newApplication) {
+		if (newApplication != eInternalContainer() || (eContainerFeatureID() != LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION && newApplication != null)) {
+			if (EcoreUtil.isAncestor(this, newApplication)) {
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+			}
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null) {
+				msgs = eBasicRemoveFromContainer(msgs);
+			}
+			if (newApplication != null) {
+				msgs = ((InternalEObject) newApplication).eInverseAdd(this, LayersPackage.LAYERS_STACK_APPLICATION__PROPERTY_SETTER_REGISTRY, LayersStackApplication.class, msgs);
+			}
+			msgs = basicSetApplication(newApplication, msgs);
+			if (msgs != null) {
+				msgs.dispatch();
+			}
+		} else if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.PROPERTY_SETTER_REGISTRY__APPLICATION, newApplication, newApplication));
+		}
+
+
+		// update the list of PropertySetters
+		if (newApplication != null) {
+			List<Property> list = newApplication.getPropertyRegistry().getProperties();
+			((PropertyIndexedList<PropertySetter>) getPropertySetters()).setPropertyList(list);
+		}
+		;
+
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public PropertySetter getPropertySetter(Property property) throws NotFoundException {
+
+		try {
+			return getPropertySetters().get(property.getIndex());
+		} catch (IndexOutOfBoundsException e) {
+			// Try by name
+			PropertySetter setter = getPropertySetter(property.getName());
+			if (setter != null) {
+				return setter;
+			}
+			throw new NotFoundException("No setter found for property '" + property.getName() + "'");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public PropertySetter getPropertySetter(String property) throws NotFoundException {
+		return getSetterMap().get(property);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void addPropertySetter(PropertySetter setter) {
+
+		String key = setter.getPropertyName();
+		if (key == null || key.length() == 0) {
+			throw new UnsupportedOperationException("Setter must have a valid name.");
+		}
+
+		getSetterMap().put(key, setter);
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomStackedLayerOperatorDescriptorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomStackedLayerOperatorDescriptorImpl.java
new file mode 100755
index 0000000..2aeb20f
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomStackedLayerOperatorDescriptorImpl.java
@@ -0,0 +1,149 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StackedLayerOperatorDescriptorImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomStackedLayerOperatorDescriptorImpl extends StackedLayerOperatorDescriptorImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomStackedLayerOperatorDescriptorImpl() {
+		super();
+		init();
+	}
+
+	/**
+	 * Init the descriptor.
+	 */
+	private void init() {
+		setName("StackedLayerOperator");
+
+	}
+
+	/**
+	 * New instance creation counter.
+	 */
+	static int count = 0;
+
+	/**
+	 * Create the requested {@link StackedLayerOperator} and init it.
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorDescriptorImpl#createLayerOperator()
+	 *
+	 * @return
+	 */
+	@Override
+	public LayerOperator createLayerOperator() {
+
+
+		StackedLayerOperator layerOperator = LayersFactory.eINSTANCE.createStackedLayerOperator();
+		layerOperator.setLayerOperatorDescriptor(this);
+		layerOperator.setLayerOperatorDescriptorName(this.getName());
+		layerOperator.setName(getName() + count++);
+
+		return layerOperator;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public List<PropertyOperator> getPropertyOperators() {
+		if (propertyOperators == null) {
+			propertyOperators = new EObjectResolvingEList<PropertyOperator>(PropertyOperator.class, this, LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS) {
+				// Allows double
+				@Override
+				protected boolean isUnique() {
+					return false;
+				}
+
+			};
+		}
+		return propertyOperators;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public PropertyOperator getPropertyOperator(Property property) throws NotFoundException {
+		try {
+			return getPropertyOperators().get(property.getIndex());
+		} catch (IndexOutOfBoundsException e) {
+			throw new NotFoundException("Can't find operator for property '" + property.getName() + "' at index " + property.getIndex());
+		}
+	}
+
+	/**
+	 * Set the operator at the property's index.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setPropertyOperator(Property property, PropertyOperator operator) {
+
+		// Set the operator at the property's index.
+		getPropertyOperators().set(property.getIndex(), operator);
+	}
+
+	/**
+	 * Initialize all list indexed by Properties'index.
+	 * Increase the actual list in order that they can contains the specified number of properties.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setPropertyCollectionSize(int size, PropertyOperator defaultPropertyOperator) {
+		List<PropertyOperator> operators = getPropertyOperators();
+		int actualSize = operators.size();
+		// Check if we need to increase the size.
+		if (actualSize >= size) {
+			// do nothing
+			return;
+		}
+
+		// Add missing elements
+		for (int i = actualSize; i < size; i++) {
+			operators.add(defaultPropertyOperator);
+		}
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomStackedLayerOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomStackedLayerOperatorImpl.java
new file mode 100755
index 0000000..7ee5856
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomStackedLayerOperatorImpl.java
@@ -0,0 +1,254 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayer;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerImpl;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StackedLayerOperatorImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomStackedLayerOperatorImpl extends StackedLayerOperatorImpl {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomStackedLayerOperatorImpl() {
+		super();
+
+		// Add an observer
+		Adapter adapter = new LayerDescriptorSynchronizer();
+		this.eAdapters().add(adapter);
+	}
+
+	/**
+	 * Reset the descriptor accordingly to the descriptor name.
+	 * The descriptor is resseted only if the ::application and ::layerOperatorDescriptorName are set.
+	 * Nothing is done if one of the attribute is not set.
+	 * Nothing is done if the descriptor can not be found (maybe a log is issue).
+	 * <!-- begin-user-doc -->
+	 * Not used ?
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	@Override
+	public void resetDescriptor() {
+
+		if (getApplication() == null || getLayerOperatorDescriptorName() == null) {
+			// A property is not yet set.
+			// do nothing
+			return;
+		}
+
+		try {
+			LayerOperatorDescriptor descriptor = getApplication().getLayerOperatorDescriptorRegistry().getLayerOperatorDescriptor(getLayerOperatorDescriptorName());
+			setLayerOperatorDescriptor(descriptor);
+		} catch (NotFoundException e) {
+			// Not found
+			log.error(this.getClass().getName()
+					+ "- Can't get LayerOperatorDescriptor for descriptorName '" + getLayerOperatorDescriptorName() + "'.", e);
+		}
+	}
+
+	/**
+	 * This class listen to #propertyValueMap, and synchronize propertyValues accordingly.
+	 *
+	 *
+	 */
+	public class LayerDescriptorSynchronizer extends AdapterImpl {
+
+		@Override
+		public void notifyChanged(Notification msg) {
+			// System.err.println("event " + msg.getEventType());
+
+			switch (msg.getFeatureID(AbstractLayer.class)) {
+			case LayersPackage.STACKED_LAYER_OPERATOR__LAYER_OPERATOR_DESCRIPTOR_NAME:
+				notifyDescriptorNameChanged(msg);
+				break;
+
+			case LayersPackage.STACKED_LAYER_OPERATOR__APPLICATION:
+				notifyLayerApplicationFeatureChanged(msg);
+				break;
+
+			default:
+				break;
+			}
+		}
+
+		/**
+		 * The {@link LayerImpl#propertyValueMap} has changed. Synchronize the {@link LayerImpl#propertyValues} list.
+		 *
+		 * @param msg
+		 */
+		protected void notifyDescriptorNameChanged(Notification msg) {
+			// System.err.println("descriptor name changed " + msg.getEventType());
+			switch (msg.getEventType()) {
+			case Notification.SET: {
+				// Name is set
+				resetDescriptor();
+				break;
+			}
+			default:
+				break;
+			}
+
+		}
+
+		/**
+		 * The {@link LayerImpl#propertyValueMap} has changed. Synchronize the {@link LayerImpl#propertyValues} list.
+		 *
+		 * @param msg
+		 */
+		protected void notifyLayerApplicationFeatureChanged(Notification msg) {
+			// System.err.println("application changed " + msg.getEventType());
+			switch (msg.getEventType()) {
+			case Notification.SET: {
+				// Application is set
+				resetDescriptor();
+				break;
+			}
+			}
+		}
+
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void addLayer(LayerExpression layer) {
+		// getLayers().add(layer);
+		// Add layer on top of the stack.
+		getLayers().add(0, layer);
+	}
+
+	/**
+	 * Propagate the change to children
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#setIsBranchEnabled(boolean)
+	 *
+	 * @param newIsBranchEnabled
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void setIsBranchEnabled(boolean newIsBranchEnabled) {
+		// First, set the value.
+		super.setIsBranchEnabled(newIsBranchEnabled);
+		// Now, propagate
+		boolean value = isBranchEnabled();
+		for (LayerExpression layer : getLayers()) {
+			layer.setIsBranchEnabled(value);
+		}
+	}
+
+	/**
+	 * Set the value then propagate to children nodes.
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#setOwningLayersStack(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack)
+	 *
+	 * @param newOwningLayersStack
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void setOwningLayersStack(LayersStack newOwningLayersStack) {
+		// Set the value
+		super.setOwningLayersStack(newOwningLayersStack);
+		// Now propagate to children
+		LayersStack value = getOwningLayersStack();
+		for (LayerExpression layer : getLayers()) {
+			layer.setOwningLayersStack(value);
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Start this element after its reloading by EMF
+	 * This method is called recursively by the parent of this element.
+	 *
+	 * <!-- end-user-doc -->
+	 *
+	 * @throws LayersException
+	 * @generated
+	 */
+	@Override
+	public void attach() throws LayersException {
+		// Try to attach this Layer
+		super.attach();
+		// attach children
+		for (LayerExpression l : getLayers()) {
+			l.attach();
+		}
+	}
+
+	/**
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#detach()
+	 *
+	 * @throws LayersException
+	 * @generated
+	 */
+	@Override
+	public void detach() throws LayersException {
+		// Detach this Layer
+		super.detach();
+		// detach children
+		for (LayerExpression l : getLayers()) {
+			l.detach();
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @deprecated unless we need it again
+	 * @generated
+	 */
+	@Deprecated
+	@Override
+	public void attachToLayersStack(LayersStack owningLayersStack) {
+
+		// the owning stack
+		setOwningLayersStack(owningLayersStack);
+
+		// Ensure child is started, if any
+		for (LayerExpression l : getLayers()) {
+			l.attachToLayersStack(owningLayersStack);
+		}
+
+		// Start local behaviors
+		startBehaviors();
+	}
+
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomTopLayerOperatorDescriptorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomTopLayerOperatorDescriptorImpl.java
new file mode 100755
index 0000000..c333ad9
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomTopLayerOperatorDescriptorImpl.java
@@ -0,0 +1,150 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.StackedLayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TopLayerOperator;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorDescriptorImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomTopLayerOperatorDescriptorImpl extends TopLayerOperatorDescriptorImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomTopLayerOperatorDescriptorImpl() {
+		super();
+		init();
+	}
+
+	/**
+	 * Init the descriptor.
+	 */
+	private void init() {
+		setName("TopLayerOperator");
+
+	}
+
+	/**
+	 * New instance creation counter.
+	 */
+	static int count = 0;
+
+	/**
+	 * Create the requested {@link StackedLayerOperator} and init it.
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerOperatorDescriptorImpl#createLayerOperator()
+	 *
+	 * @return
+	 */
+	@Override
+	public LayerOperator createLayerOperator() {
+
+
+		TopLayerOperator layerOperator = LayersFactory.eINSTANCE.createTopLayerOperator();
+		layerOperator.setLayerOperatorDescriptor(this);
+		layerOperator.setName(getName() + count++);
+
+		return layerOperator;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public List<PropertyOperator> getPropertyOperators() {
+		if (propertyOperators == null) {
+			propertyOperators = new EObjectResolvingEList<PropertyOperator>(PropertyOperator.class, this, LayersPackage.LAYER_OPERATOR_DESCRIPTOR__PROPERTY_OPERATORS) {
+				// Allows double
+				@Override
+				protected boolean isUnique() {
+					return false;
+				}
+
+			};
+		}
+		return propertyOperators;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public PropertyOperator getPropertyOperator(Property property) throws NotFoundException {
+		try {
+			return getPropertyOperators().get(property.getIndex());
+		} catch (IndexOutOfBoundsException e) {
+			throw new NotFoundException("Can't find operator for property '" + property.getName() + "' at index " + property.getIndex());
+		}
+	}
+
+	/**
+	 * Set the operator at the property's index.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setPropertyOperator(Property property, PropertyOperator operator) {
+
+		// Set the operator at the property's index.
+		getPropertyOperators().set(property.getIndex(), operator);
+	}
+
+	/**
+	 * Initialize all list indexed by Properties'index.
+	 * Increase the actual list in order that they can contains the specified number of properties.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setPropertyCollectionSize(int size, PropertyOperator defaultPropertyOperator) {
+		List<PropertyOperator> operators = getPropertyOperators();
+		int actualSize = operators.size();
+		// Check if we need to increase the size.
+		if (actualSize >= size) {
+			// do nothing
+			return;
+		}
+
+		// Add missing elements
+		for (int i = actualSize; i < size; i++) {
+			operators.add(defaultPropertyOperator);
+		}
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomTopLayerOperatorImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomTopLayerOperatorImpl.java
new file mode 100755
index 0000000..2ec8246
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomTopLayerOperatorImpl.java
@@ -0,0 +1,258 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TopLayerOperatorImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomTopLayerOperatorImpl extends TopLayerOperatorImpl {
+
+	/**
+	 * Get the command to compute the required property value.
+	 * Walk all layers and return the first cmd that is not null for specified view and property.
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property)
+	 *
+	 * @param view
+	 * @param property
+	 * @return
+	 * @throws LayersException
+	 */
+	@Override
+	public ComputePropertyValueCommand getComputePropertyValueCommand(View view, Property property) throws LayersException {
+
+		// Walk all layers and return the first cmd that is not null for specified view and property.
+		for (LayerExpression layer : getLayers()) {
+
+			ComputePropertyValueCommand cmd = layer.getComputePropertyValueCommand(view, property);
+			if (cmd != null) {
+				return cmd;
+			}
+		}
+		// Nothing found
+		return null;
+
+	}
+
+	/**
+	 * For each property, add the first property value in the list of result.
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getPropertiesComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, java.util.List)
+	 *
+	 * @param view
+	 * @param property
+	 * @return
+	 * @throws LayersException
+	 */
+	@Override
+	public List<ComputePropertyValueCommand> getPropertiesComputePropertyValueCommand(View view, List<Property> properties) throws LayersException {
+
+		// Simple implementation
+		// TODO Check if we can optimize
+
+		// the result list
+		List<ComputePropertyValueCommand> resCmds = new ArrayList<ComputePropertyValueCommand>(properties.size());
+		boolean isCmdFound = false;
+
+		for (Property property : properties) {
+			if (property == null) {
+				resCmds.add(null);
+				continue;
+			}
+
+			ComputePropertyValueCommand cmd = getComputePropertyValueCommand(view, property);
+			if (cmd != null) {
+				isCmdFound = true;
+			}
+			resCmds.add(cmd);
+
+
+		}
+		// Return appropriate result
+		if (isCmdFound) {
+			return resCmds;
+		} else {
+			// No command ==> null
+			return null;
+		}
+	}
+
+	/**
+	 * For each view, add the first property value in the list of result.
+	 *
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#getViewsComputePropertyValueCommand(java.util.List, org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Property)
+	 *
+	 * @param view
+	 * @param property
+	 * @return
+	 * @throws LayersException
+	 */
+	@Override
+	public List<ComputePropertyValueCommand> getViewsComputePropertyValueCommand(List<View> views, Property property) throws LayersException {
+
+		// Simple implementation
+		// TODO Check if we can optimize
+
+		// the result list
+		List<ComputePropertyValueCommand> resCmds = new ArrayList<ComputePropertyValueCommand>(views.size());
+		boolean isCmdFound = false;
+
+		for (View view : views) {
+			if (view == null) {
+				resCmds.add(null);
+				continue;
+			}
+
+			ComputePropertyValueCommand cmd = getComputePropertyValueCommand(view, property);
+			if (cmd != null) {
+				isCmdFound = true;
+			}
+			resCmds.add(cmd);
+		}
+
+		// Return appropriate result
+		if (isCmdFound) {
+			return resCmds;
+		} else {
+			// No command ==> null
+			return null;
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void addLayer(LayerExpression layer) {
+		// getLayers().add(layer);
+		// Add layer on top of the stack.
+		getLayers().add(0, layer);
+	}
+
+	/**
+	 * Propagate the change to children
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#setIsBranchEnabled(boolean)
+	 *
+	 * @param newIsBranchEnabled
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void setIsBranchEnabled(boolean newIsBranchEnabled) {
+		// First, set the value.
+		super.setIsBranchEnabled(newIsBranchEnabled);
+		// Now, propagate
+		boolean value = isBranchEnabled();
+		for (LayerExpression layer : getLayers()) {
+			layer.setIsBranchEnabled(value);
+		}
+	}
+
+	/**
+	 * Set the value then propagate to children nodes.
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#setOwningLayersStack(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack)
+	 *
+	 * @param newOwningLayersStack
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void setOwningLayersStack(LayersStack newOwningLayersStack) {
+		// Set the value
+		super.setOwningLayersStack(newOwningLayersStack);
+		// Now propagate to children
+		LayersStack value = getOwningLayersStack();
+		for (LayerExpression layer : getLayers()) {
+			layer.setOwningLayersStack(value);
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Start this element after its reloading by EMF
+	 * This method is called recursively by the parent of this element.
+	 *
+	 * <!-- end-user-doc -->
+	 *
+	 * @throws LayersException
+	 * @generated
+	 */
+	@Override
+	public void attach() throws LayersException {
+		// Try to attach this Layer
+		super.attach();
+		// attach children
+		for (LayerExpression l : getLayers()) {
+			l.attach();
+		}
+	}
+
+	/**
+	 *
+	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.LayerExpressionImpl#detach()
+	 *
+	 * @throws LayersException
+	 * @generated
+	 */
+	@Override
+	public void detach() throws LayersException {
+		// Detach this Layer
+		super.detach();
+		// detach children
+		for (LayerExpression l : getLayers()) {
+			l.detach();
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @deprecated unless we need it again
+	 * @generated
+	 */
+	@Deprecated
+	@Override
+	public void attachToLayersStack(LayersStack owningLayersStack) {
+
+		// the owning stack
+		setOwningLayersStack(owningLayersStack);
+
+		// Ensure child is started, if any
+		for (LayerExpression l : getLayers()) {
+			l.attachToLayersStack(owningLayersStack);
+		}
+
+		// Start local behaviors
+		startBehaviors();
+	}
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomTypeRegistryImpl.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomTypeRegistryImpl.java
new file mode 100755
index 0000000..3ffdc61
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/impl/custom/CustomTypeRegistryImpl.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.custom;
+
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.Type;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.TypeRegistryImpl;
+
+/**
+ * @author QL238289
+ *
+ */
+public class CustomTypeRegistryImpl extends TypeRegistryImpl {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 */
+	protected CustomTypeRegistryImpl() {
+		super();
+		init();
+	}
+
+	/**
+	 * Init the Registry.
+	 * Register standard types.
+	 */
+	protected void init() {
+		addType(LayersFactory.eINSTANCE.createCSSType());
+		addType(LayersFactory.eINSTANCE.createCSSHideType());
+	}
+
+	/**
+	 * Add the type in the registry
+	 *
+	 * @param type
+	 */
+	public void addType(Type type) {
+		String typeName = type.getName();
+
+		getTypes().put(typeName, type);
+	}
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/loaders/LayerOperatorDescriptorRegistryLoader.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/loaders/LayerOperatorDescriptorRegistryLoader.java
index 9f5522c..2724e3e 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/loaders/LayerOperatorDescriptorRegistryLoader.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/loaders/LayerOperatorDescriptorRegistryLoader.java
@@ -1,121 +1,121 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.loaders;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptorRegistry;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.BooleanAndOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.BooleanOrOperator;
-
-
-/**
- * Class used to load a {@link LayerOperatorDescriptorRegistry}.
- *
- * @author cedric dumoulin
- *
- * @deprecated use {@link RegistriesLoader} instead.
- *
- */
-@Deprecated
-public class LayerOperatorDescriptorRegistryLoader implements ILayerOperatorDescriptorRegistryLoader {
-
-	/**
-	 * Load the specified registry. Initialize its Descriptors and its Operators.
-	 *
-	 * @param layerOperatorDescriptorRegistry
-	 * @param propertyRegistry
-	 */
-	public void loadRegistryOld(LayerOperatorDescriptorRegistry descriptorRegistry, PropertyRegistry propertyRegistry) {
-
-		// Custom operator declarations
-		// operatorName, operatorImplementationClass
-		String[] operatorDeclarations = new String[] {
-				"booleanOr", BooleanOrOperator.class.getName(),
-				"booleanAnd", BooleanAndOperator.class.getName(),
-
-		};
-
-		// Load operators
-		for (int i = 0; i < operatorDeclarations.length; i += 2) {
-			CustomPropertyOperator operator = LayersFactory.eINSTANCE.createCustomPropertyOperator();
-			operator.setName(operatorDeclarations[i]);
-			operator.setClassname(operatorDeclarations[i + 1]);
-			descriptorRegistry.addPropertyOperator(operator);
-		}
-
-		// AndLayerStackOperatorDescriptor
-		// propertyName, operatorName
-		String[] andDescriptorDeclarations = new String[] {
-				"isVisible", "booleanAnd",
-		};
-
-		LayerOperatorDescriptor andDescriptor = LayersFactory.eINSTANCE.createAndStackedLayerOperatorDescriptor();
-		descriptorRegistry.addLayerOperatorDescriptor(andDescriptor);
-
-		// attach operator to layer and property
-		String descriptorName = andDescriptor.getName();
-		for (int i = 0; i < andDescriptorDeclarations.length; i += 2) {
-			try {
-				descriptorRegistry.attachOperatorToDescriptor(propertyRegistry.getProperty(andDescriptorDeclarations[i]), andDescriptorDeclarations[i + 1], descriptorName);
-			} catch (NotFoundException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
-
-		// OrLayerStackOperatorDescriptor
-		// propertyName, operatorName
-		String[] orDescriptorDeclarations = new String[] {
-				"isVisible", "booleanOr",
-		};
-
-		LayerOperatorDescriptor orDescriptor = LayersFactory.eINSTANCE.createOrStackedLayerOperatorDescriptor();
-		descriptorRegistry.addLayerOperatorDescriptor(orDescriptor);
-
-		// attach operator to layer and property
-		descriptorName = orDescriptor.getName();
-		for (int i = 0; i < orDescriptorDeclarations.length; i += 2) {
-			try {
-				descriptorRegistry.attachOperatorToDescriptor(propertyRegistry.getProperty(orDescriptorDeclarations[i]), orDescriptorDeclarations[i + 1], descriptorName);
-			} catch (NotFoundException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.loaders.ILayerOperatorDescriptorRegistryLoader#loadLayerOperatorDescriptorRegistry(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptorRegistry,
-	 *      org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry)
-	 *
-	 * @param descriptorRegistry
-	 * @param propertyRegistry
-	 */
-	@Override
-	public void loadLayerOperatorDescriptorRegistry(LayerOperatorDescriptorRegistry descriptorRegistry, PropertyRegistry propertyRegistry) {
-
-		createLayersConfigModel();
-
-	}
-
-	/**
-	 * Create a Model
-	 */
-	private void createLayersConfigModel() {
-		// TODO Auto-generated method stub
-
-	}
-
-}
+/// *******************************************************************************
+// * Copyright (c) 2013 CEA LIST.
+// * 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:
+// * Cedric Dumoulin - cedric.dumoulin@lifl.fr
+// ******************************************************************************/
+// package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.loaders;
+//
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.CustomPropertyOperator;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptor;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptorRegistry;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.BooleanAndOperator;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.BooleanOrOperator;
+//
+//
+/// **
+// * Class used to load a {@link LayerOperatorDescriptorRegistry}.
+// *
+// * @author cedric dumoulin
+// *
+// * @deprecated use {@link RegistriesLoader} instead.
+// *
+// */
+// @Deprecated
+// public class LayerOperatorDescriptorRegistryLoader implements ILayerOperatorDescriptorRegistryLoader {
+//
+// /**
+// * Load the specified registry. Initialize its Descriptors and its Operators.
+// *
+// * @param layerOperatorDescriptorRegistry
+// * @param propertyRegistry
+// */
+// public void loadRegistryOld(LayerOperatorDescriptorRegistry descriptorRegistry, PropertyRegistry propertyRegistry) {
+//
+// // Custom operator declarations
+// // operatorName, operatorImplementationClass
+// String[] operatorDeclarations = new String[] {
+// "booleanOr", BooleanOrOperator.class.getName(),
+// "booleanAnd", BooleanAndOperator.class.getName(),
+//
+// };
+//
+// // Load operators
+// for (int i = 0; i < operatorDeclarations.length; i += 2) {
+// CustomPropertyOperator operator = LayersFactory.eINSTANCE.createCustomPropertyOperator();
+// operator.setName(operatorDeclarations[i]);
+// operator.setClassname(operatorDeclarations[i + 1]);
+// descriptorRegistry.addPropertyOperator(operator);
+// }
+//
+// // AndLayerStackOperatorDescriptor
+// // propertyName, operatorName
+// String[] andDescriptorDeclarations = new String[] {
+// "isVisible", "booleanAnd",
+// };
+//
+// LayerOperatorDescriptor andDescriptor = LayersFactory.eINSTANCE.createAndStackedLayerOperatorDescriptor();
+// descriptorRegistry.addLayerOperatorDescriptor(andDescriptor);
+//
+// // attach operator to layer and property
+// String descriptorName = andDescriptor.getName();
+// for (int i = 0; i < andDescriptorDeclarations.length; i += 2) {
+// try {
+// descriptorRegistry.attachOperatorToDescriptor(propertyRegistry.getProperty(andDescriptorDeclarations[i]), andDescriptorDeclarations[i + 1], descriptorName);
+// } catch (NotFoundException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+// }
+//
+// // OrLayerStackOperatorDescriptor
+// // propertyName, operatorName
+// String[] orDescriptorDeclarations = new String[] {
+// "isVisible", "booleanOr",
+// };
+//
+// LayerOperatorDescriptor orDescriptor = LayersFactory.eINSTANCE.createOrStackedLayerOperatorDescriptor();
+// descriptorRegistry.addLayerOperatorDescriptor(orDescriptor);
+//
+// // attach operator to layer and property
+// descriptorName = orDescriptor.getName();
+// for (int i = 0; i < orDescriptorDeclarations.length; i += 2) {
+// try {
+// descriptorRegistry.attachOperatorToDescriptor(propertyRegistry.getProperty(orDescriptorDeclarations[i]), orDescriptorDeclarations[i + 1], descriptorName);
+// } catch (NotFoundException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+// }
+// }
+//
+// /**
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.loaders.ILayerOperatorDescriptorRegistryLoader#loadLayerOperatorDescriptorRegistry(org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperatorDescriptorRegistry,
+// * org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.PropertyRegistry)
+// *
+// * @param descriptorRegistry
+// * @param propertyRegistry
+// */
+// @Override
+// public void loadLayerOperatorDescriptorRegistry(LayerOperatorDescriptorRegistry descriptorRegistry, PropertyRegistry propertyRegistry) {
+//
+// createLayersConfigModel();
+//
+// }
+//
+// /**
+// * Create a Model
+// */
+// private void createLayersConfigModel() {
+// // TODO Auto-generated method stub
+//
+// }
+//
+// }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/loaders/LayersConfigModel.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/loaders/LayersConfigModel.java
index 2ade37a..bb33d3e 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/loaders/LayersConfigModel.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/loaders/LayersConfigModel.java
@@ -37,9 +37,6 @@
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.PropertyId;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.configmodel.layersconfig.TypeConfig;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.BooleanAndOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.BooleanOrOperator;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.FillAverageOperator;
 
 
 /**
@@ -98,9 +95,9 @@
 
 		// Create Operators
 		Folder operatorFolder = createFolder(getRootFolder(), "operatorDesc");
-		OperatorConfig operatorBooleanAnd = createPropertyOperatorConfig(operatorFolder, "operatorBooleanAnd", BooleanAndOperator.class.getName());
-		OperatorConfig operatorBooleanOr = createPropertyOperatorConfig(operatorFolder, "operatorBooleanOr", BooleanOrOperator.class.getName());
-		OperatorConfig operatorFillAverage = createPropertyOperatorConfig(operatorFolder, "operatorFillAverage", FillAverageOperator.class.getName());
+		// OperatorConfig operatorBooleanAnd = createPropertyOperatorConfig(operatorFolder, "operatorBooleanAnd", BooleanAndOperator.class.getName());
+		// OperatorConfig operatorBooleanOr = createPropertyOperatorConfig(operatorFolder, "operatorBooleanOr", BooleanOrOperator.class.getName());
+		// OperatorConfig operatorFillAverage = createPropertyOperatorConfig(operatorFolder, "operatorFillAverage", FillAverageOperator.class.getName());
 
 
 		// Create basic types
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/BooleanAndOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/BooleanAndOperator.java
index 7002f0c..de97d9d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/BooleanAndOperator.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/BooleanAndOperator.java
@@ -1,93 +1,93 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-
-/**
- * @author cedric dumoulin
- *
- */
-public class BooleanAndOperator implements CustomPropertyOperatorsInstance {
-
-	public static final BooleanInstance FALSE_INSTANCE;
-	public static final BooleanInstance TRUE_INSTANCE;
-
-	static {
-		FALSE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
-		FALSE_INSTANCE.setValue(false);
-		TRUE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
-		TRUE_INSTANCE.setValue(true);
-	}
-
-	/**
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance#getComputePropertyValueCommand(org.eclipse.emf.common.util.EList)
-	 *
-	 * @param property
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public ComputePropertyValueCommand getComputePropertyValueCommand(EList<ComputePropertyValueCommand> nestedCommand) throws LayersException {
-		return new BooleanAndOperatorCommand(nestedCommand);
-	}
-
-
-	/**
-	 * Class implementing an And command.
-	 *
-	 */
-	class BooleanAndOperatorCommand implements ComputePropertyValueCommand {
-
-		EList<ComputePropertyValueCommand> nestedCommand;
-
-		/**
-		 *
-		 * Constructor.
-		 *
-		 * @param nestedCommand
-		 */
-		public BooleanAndOperatorCommand(EList<ComputePropertyValueCommand> nestedCommand) {
-			this.nestedCommand = nestedCommand;
-		}
-
-		/**
-		 * Compute the value.
-		 *
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand#getCmdValue()
-		 *
-		 * @return
-		 * @throws LayersException
-		 */
-		@Override
-		public TypeInstance getCmdValue() throws LayersException {
-
-			// Do an boolean and: all value should be true.
-			// Return as soon as a false is encountered
-			for (ComputePropertyValueCommand curCmd : nestedCommand) {
-				boolean curCmdRes = ((BooleanInstance) curCmd.getCmdValue()).isValue();
-				if (curCmdRes == false) {
-					return FALSE_INSTANCE;
-				}
-			}
-
-			return TRUE_INSTANCE;
-		}
-
-	}
-}
+/// *******************************************************************************
+// * Copyright (c) 2013 CEA LIST.
+// * 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:
+// * Cedric Dumoulin - cedric.dumoulin@lifl.fr
+// ******************************************************************************/
+// package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators;
+//
+// import org.eclipse.emf.common.util.EList;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
+//
+//
+/// **
+// * @author cedric dumoulin
+// *
+// */
+// public class BooleanAndOperator implements CustomPropertyOperatorsInstance {
+//
+// public static final BooleanInstance FALSE_INSTANCE;
+// public static final BooleanInstance TRUE_INSTANCE;
+//
+// static {
+// FALSE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
+// FALSE_INSTANCE.setValue(false);
+// TRUE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
+// TRUE_INSTANCE.setValue(true);
+// }
+//
+// /**
+// *
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance#getComputePropertyValueCommand(org.eclipse.emf.common.util.EList)
+// *
+// * @param property
+// * @return
+// * @throws LayersException
+// */
+// @Override
+// public ComputePropertyValueCommand getComputePropertyValueCommand(EList<ComputePropertyValueCommand> nestedCommand) throws LayersException {
+// return new BooleanAndOperatorCommand(nestedCommand);
+// }
+//
+//
+// /**
+// * Class implementing an And command.
+// *
+// */
+// class BooleanAndOperatorCommand implements ComputePropertyValueCommand {
+//
+// EList<ComputePropertyValueCommand> nestedCommand;
+//
+// /**
+// *
+// * Constructor.
+// *
+// * @param nestedCommand
+// */
+// public BooleanAndOperatorCommand(EList<ComputePropertyValueCommand> nestedCommand) {
+// this.nestedCommand = nestedCommand;
+// }
+//
+// /**
+// * Compute the value.
+// *
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand#getCmdValue()
+// *
+// * @return
+// * @throws LayersException
+// */
+// @Override
+// public TypeInstance getCmdValue() throws LayersException {
+//
+// // Do an boolean and: all value should be true.
+// // Return as soon as a false is encountered
+// for (ComputePropertyValueCommand curCmd : nestedCommand) {
+// boolean curCmdRes = ((BooleanInstance) curCmd.getCmdValue()).isValue();
+// if (curCmdRes == false) {
+// return FALSE_INSTANCE;
+// }
+// }
+//
+// return TRUE_INSTANCE;
+// }
+//
+// }
+// }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/BooleanOrOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/BooleanOrOperator.java
index 9816faf..ed06fd0 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/BooleanOrOperator.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/BooleanOrOperator.java
@@ -1,93 +1,93 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-
-/**
- * @author cedric dumoulin
- *
- */
-public class BooleanOrOperator implements CustomPropertyOperatorsInstance {
-
-	public static final BooleanInstance FALSE_INSTANCE;
-	public static final BooleanInstance TRUE_INSTANCE;
-
-	static {
-		FALSE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
-		FALSE_INSTANCE.setValue(false);
-		TRUE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
-		TRUE_INSTANCE.setValue(true);
-	}
-
-	/**
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance#getComputePropertyValueCommand(org.eclipse.emf.common.util.EList)
-	 *
-	 * @param property
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public ComputePropertyValueCommand getComputePropertyValueCommand(EList<ComputePropertyValueCommand> nestedCommand) throws LayersException {
-		return new BooleanOrOperatorCommand(nestedCommand);
-	}
-
-
-	/**
-	 * Class implementing an And command.
-	 *
-	 */
-	class BooleanOrOperatorCommand implements ComputePropertyValueCommand {
-
-		EList<ComputePropertyValueCommand> nestedCommand;
-
-		/**
-		 *
-		 * Constructor.
-		 *
-		 * @param nestedCommand
-		 */
-		public BooleanOrOperatorCommand(EList<ComputePropertyValueCommand> nestedCommand) {
-			this.nestedCommand = nestedCommand;
-		}
-
-		/**
-		 * Compute the value.
-		 *
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand#getCmdValue()
-		 *
-		 * @return
-		 * @throws LayersException
-		 */
-		@Override
-		public TypeInstance getCmdValue() throws LayersException {
-
-			// Do an boolean or: at least one value should be true.
-			// Return as soon as a true is encountered
-			for (ComputePropertyValueCommand curCmd : nestedCommand) {
-				boolean curCmdRes = ((BooleanInstance) curCmd.getCmdValue()).isValue();
-				if (curCmdRes == true) {
-					return TRUE_INSTANCE;
-				}
-			}
-
-			return FALSE_INSTANCE;
-		}
-
-	}
-}
+/// *******************************************************************************
+// * Copyright (c) 2013 CEA LIST.
+// * 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:
+// * Cedric Dumoulin - cedric.dumoulin@lifl.fr
+// ******************************************************************************/
+// package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators;
+//
+// import org.eclipse.emf.common.util.EList;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
+//
+//
+/// **
+// * @author cedric dumoulin
+// *
+// */
+// public class BooleanOrOperator implements CustomPropertyOperatorsInstance {
+//
+// public static final BooleanInstance FALSE_INSTANCE;
+// public static final BooleanInstance TRUE_INSTANCE;
+//
+// static {
+// FALSE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
+// FALSE_INSTANCE.setValue(false);
+// TRUE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
+// TRUE_INSTANCE.setValue(true);
+// }
+//
+// /**
+// *
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance#getComputePropertyValueCommand(org.eclipse.emf.common.util.EList)
+// *
+// * @param property
+// * @return
+// * @throws LayersException
+// */
+// @Override
+// public ComputePropertyValueCommand getComputePropertyValueCommand(EList<ComputePropertyValueCommand> nestedCommand) throws LayersException {
+// return new BooleanOrOperatorCommand(nestedCommand);
+// }
+//
+//
+// /**
+// * Class implementing an And command.
+// *
+// */
+// class BooleanOrOperatorCommand implements ComputePropertyValueCommand {
+//
+// EList<ComputePropertyValueCommand> nestedCommand;
+//
+// /**
+// *
+// * Constructor.
+// *
+// * @param nestedCommand
+// */
+// public BooleanOrOperatorCommand(EList<ComputePropertyValueCommand> nestedCommand) {
+// this.nestedCommand = nestedCommand;
+// }
+//
+// /**
+// * Compute the value.
+// *
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand#getCmdValue()
+// *
+// * @return
+// * @throws LayersException
+// */
+// @Override
+// public TypeInstance getCmdValue() throws LayersException {
+//
+// // Do an boolean or: at least one value should be true.
+// // Return as soon as a true is encountered
+// for (ComputePropertyValueCommand curCmd : nestedCommand) {
+// boolean curCmdRes = ((BooleanInstance) curCmd.getCmdValue()).isValue();
+// if (curCmdRes == true) {
+// return TRUE_INSTANCE;
+// }
+// }
+//
+// return FALSE_INSTANCE;
+// }
+//
+// }
+// }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/CustomPropertyOperatorsInstance.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/CustomPropertyOperatorsInstance.java
deleted file mode 100755
index a4601be..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/CustomPropertyOperatorsInstance.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
-
-
-/**
- * Interface to be implemented by operators declared as "custom".
- *
- * @author cedric dumoulin
- *
- */
-public interface CustomPropertyOperatorsInstance {
-
-	/**
-	 * Return the command allowing to compute the value resulting on applying this operator on the specified properties.
-	 *
-	 * @param property
-	 * @return The command returning the result
-	 * @throws LayersException
-	 */
-	public ComputePropertyValueCommand getComputePropertyValueCommand(EList<ComputePropertyValueCommand> property) throws LayersException;
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/FillAverageOperator.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/FillAverageOperator.java
index 964f8fb..662d014 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/FillAverageOperator.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/operators/FillAverageOperator.java
@@ -1,101 +1,101 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
-
-
-/**
- * @author cedric dumoulin
- *
- */
-public class FillAverageOperator implements CustomPropertyOperatorsInstance {
-
-	public static final BooleanInstance FALSE_INSTANCE;
-	public static final BooleanInstance TRUE_INSTANCE;
-
-	static {
-		FALSE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
-		FALSE_INSTANCE.setValue(false);
-		TRUE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
-		TRUE_INSTANCE.setValue(true);
-	}
-
-	/**
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance#getComputePropertyValueCommand(org.eclipse.emf.common.util.EList)
-	 *
-	 * @param property
-	 * @return
-	 * @throws LayersException
-	 */
-	@Override
-	public ComputePropertyValueCommand getComputePropertyValueCommand(EList<ComputePropertyValueCommand> nestedCommand) throws LayersException {
-		return new FillAverageCommand(nestedCommand);
-	}
-
-
-	/**
-	 * Class implementing an And command.
-	 *
-	 */
-	class FillAverageCommand implements ComputePropertyValueCommand {
-
-		EList<ComputePropertyValueCommand> nestedCommand;
-
-		/**
-		 *
-		 * Constructor.
-		 *
-		 * @param nestedCommand
-		 */
-		public FillAverageCommand(EList<ComputePropertyValueCommand> nestedCommand) {
-			this.nestedCommand = nestedCommand;
-		}
-
-		/**
-		 * Compute the value.
-		 *
-		 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand#getCmdValue()
-		 *
-		 * @return
-		 * @throws LayersException
-		 */
-		@Override
-		public TypeInstance getCmdValue() throws LayersException {
-
-			int fill = 0;
-			int color = 0;
-			// compute the average values
-			for (ComputePropertyValueCommand curCmd : nestedCommand) {
-				FillInstance curValue = ((FillInstance) curCmd.getCmdValue());
-				fill += curValue.getTransparency();
-				color += curValue.getFillColor().getValue();
-			}
-
-			// Create a result
-			FillInstance res = LayersFactory.eINSTANCE.createFillInstance();
-			ColorInstance colorInstance = LayersFactory.eINSTANCE.createColorInstance();
-			res.setFillColor(colorInstance);
-			res.setTransparency(fill / nestedCommand.size());
-			res.getFillColor().setValue(color / nestedCommand.size());
-			return res;
-		}
-
-	}
-}
+/// *******************************************************************************
+// * Copyright (c) 2013 CEA LIST.
+// * 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:
+// * Cedric Dumoulin - cedric.dumoulin@lifl.fr
+// ******************************************************************************/
+// package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators;
+//
+// import org.eclipse.emf.common.util.EList;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.BooleanInstance;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.ColorInstance;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.FillInstance;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
+//
+//
+/// **
+// * @author cedric dumoulin
+// *
+// */
+// public class FillAverageOperator implements CustomPropertyOperatorsInstance {
+//
+// public static final BooleanInstance FALSE_INSTANCE;
+// public static final BooleanInstance TRUE_INSTANCE;
+//
+// static {
+// FALSE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
+// FALSE_INSTANCE.setValue(false);
+// TRUE_INSTANCE = LayersFactory.eINSTANCE.createBooleanInstance();
+// TRUE_INSTANCE.setValue(true);
+// }
+//
+// /**
+// *
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.operators.CustomPropertyOperatorsInstance#getComputePropertyValueCommand(org.eclipse.emf.common.util.EList)
+// *
+// * @param property
+// * @return
+// * @throws LayersException
+// */
+// @Override
+// public ComputePropertyValueCommand getComputePropertyValueCommand(EList<ComputePropertyValueCommand> nestedCommand) throws LayersException {
+// return new FillAverageCommand(nestedCommand);
+// }
+//
+//
+// /**
+// * Class implementing an And command.
+// *
+// */
+// class FillAverageCommand implements ComputePropertyValueCommand {
+//
+// EList<ComputePropertyValueCommand> nestedCommand;
+//
+// /**
+// *
+// * Constructor.
+// *
+// * @param nestedCommand
+// */
+// public FillAverageCommand(EList<ComputePropertyValueCommand> nestedCommand) {
+// this.nestedCommand = nestedCommand;
+// }
+//
+// /**
+// * Compute the value.
+// *
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.command.ComputePropertyValueCommand#getCmdValue()
+// *
+// * @return
+// * @throws LayersException
+// */
+// @Override
+// public TypeInstance getCmdValue() throws LayersException {
+//
+// int fill = 0;
+// int color = 0;
+// // compute the average values
+// for (ComputePropertyValueCommand curCmd : nestedCommand) {
+// FillInstance curValue = ((FillInstance) curCmd.getCmdValue());
+// fill += curValue.getTransparency();
+// color += curValue.getFillColor().getValue();
+// }
+//
+// // Create a result
+// FillInstance res = LayersFactory.eINSTANCE.createFillInstance();
+// ColorInstance colorInstance = LayersFactory.eINSTANCE.createColorInstance();
+// res.setFillColor(colorInstance);
+// res.setTransparency(fill / nestedCommand.size());
+// res.getFillColor().setValue(color / nestedCommand.size());
+// return res;
+// }
+//
+// }
+// }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/resource/CustomLayersModelResource.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/resource/CustomLayersModelResource.java
new file mode 100755
index 0000000..7d76dc5
--- /dev/null
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/resource/CustomLayersModelResource.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   CEA LIST - Initial API and implementation
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.resource;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.papyrus.emf.resources.AbstractEMFResourceWithUUID;
+
+/**
+ * @author QL238289
+ * 
+ *         This, in conjunction with the extension point org.eclipse.emf.ecore.extension_parser,
+ *         is used to make the layers resource serialize itself with xmi IDs instead of positional IDs
+ *
+ */
+public class CustomLayersModelResource extends AbstractEMFResourceWithUUID {
+
+	public static final String LAYERS_RESOURCE_FILE_EXTENSION = "layers"; //$NON-NLS-1$
+
+	/**
+	 * Constructor.
+	 *
+	 * @param uri
+	 */
+	public CustomLayersModelResource(URI uri) {
+		super(uri);
+	}
+
+
+
+}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/model/LayersModelResourceFactory.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/resource/LayersModelResourceFactory.java
similarity index 81%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/model/LayersModelResourceFactory.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/resource/LayersModelResourceFactory.java
index 71c58b5..cb90d88 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/model/LayersModelResourceFactory.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/resource/LayersModelResourceFactory.java
@@ -11,7 +11,7 @@
  *   
  *****************************************************************************/
 
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.model;
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.resource;
 
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.resource.Resource;
@@ -26,13 +26,12 @@
 	/**
 	 * @see org.eclipse.emf.ecore.resource.Resource.Factory#createResource(org.eclipse.emf.common.util.URI)
 	 *
-	 * @param resourceURI
+	 * @param uri
 	 * @return
 	 */
 	@Override
-	public Resource createResource(URI resourceURI) {
-		return null;
-		// return new LayersModelResource(resourceURI);
+	public Resource createResource(URI uri) {
+		return new CustomLayersModelResource(uri);
 	}
 
 }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/ECoreUtils.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/util/ECoreUtils.java
similarity index 89%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/ECoreUtils.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/util/ECoreUtils.java
index 17ab215..20572cc 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/ECoreUtils.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/util/ECoreUtils.java
@@ -1,14 +1,17 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.util;
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
+ */
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util;
 
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/PropertyIndexedList.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/util/PropertyIndexedList.java
similarity index 95%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/PropertyIndexedList.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/util/PropertyIndexedList.java
index ee395d6..1dc3a4e 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/PropertyIndexedList.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/util/PropertyIndexedList.java
@@ -1,14 +1,17 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.util;
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
+ */
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util;
 
 import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.Activator.log;
 
@@ -50,10 +53,9 @@
 	private static final long serialVersionUID = 1L;
 
 	/**
-	 * The backuped Map. The implementation should be an Observable Map from EMF.
-	 *
+	 * The backuped Map.
 	 */
-	protected EMap<String, T> map;
+	protected Map<String, T> map;
 
 	/**
 	 * The ordered list of Property, used to indexing this List.
@@ -96,7 +98,7 @@
 		MAP_FEATURE_ID = mapFeatureID;
 		NULL_VALUE = nullValue;
 		mapParentClasstype = layer.getClass();
-		this.map = map;
+		this.map = map.map();
 		init();
 	}
 
@@ -118,7 +120,7 @@
 		MAP_FEATURE_ID = mapFeatureID;
 		NULL_VALUE = nullValue;
 		mapParentClasstype = layer.getClass();
-		this.map = (EMap<String, T>) map;
+		this.map = map;
 		init();
 	}
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/PropertyUtils.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/util/PropertyUtils.java
similarity index 87%
rename from layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/PropertyUtils.java
rename to layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/util/PropertyUtils.java
index 2ba66b5..4e12832 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src-gen/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/layers/util/PropertyUtils.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.model/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/model/util/PropertyUtils.java
@@ -1,14 +1,18 @@
 /*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
+/**
+ * Copyright (c) 2013, 2017 CEA LIST & LIFL 
+ * 
  * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.util;
+ *   Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *   Quentin Le Menez quentin.lemenez@cea.fr
+ * 
+ */
+package org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util;
 
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/.classpath b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/.classpath
index ad32c83..eca7bdb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/.classpath
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/.settings/org.eclipse.jdt.core.prefs b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/.settings/org.eclipse.jdt.core.prefs
index 94d61f0..b3aa6d6 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/.settings/org.eclipse.jdt.core.prefs
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
 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.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.6
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/META-INF/MANIFEST.MF b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/META-INF/MANIFEST.MF
index cc1b2d1..7f7502e 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/META-INF/MANIFEST.MF
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit/META-INF/MANIFEST.MF
@@ -1,10 +1,10 @@
 Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.gmf.runtime.notation;bundle-version="1.5.0",
- org.eclipse.gmf.runtime.notation.edit;bundle-version="1.4.0",
- org.eclipse.emf.edit;bundle-version="2.9.0",
- org.eclipse.emf.ecore.edit;bundle-version="2.8.0"
+Require-Bundle: org.eclipse.ui;bundle-version="[3.110.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.15.0,4.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.14.0,3.0.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.11.0,3.0.0)"
 Export-Package: org.eclipse.papyrus.internal.infra.gmfdiag.layers.notationmodel.edit
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
@@ -14,4 +14,5 @@
 Bundle-ManifestVersion: 2
 Bundle-Activator: org.eclipse.papyrus.internal.infra.gmfdiag.layers.notationmodel.edit.Activator
 Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/.classpath b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/.classpath
index ad32c83..eca7bdb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/.classpath
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/.settings/org.eclipse.jdt.core.prefs b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/.settings/org.eclipse.jdt.core.prefs
index 94d61f0..b3aa6d6 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/.settings/org.eclipse.jdt.core.prefs
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
 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.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.6
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/META-INF/MANIFEST.MF b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/META-INF/MANIFEST.MF
index 5e1aeb5..08fdb40 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/META-INF/MANIFEST.MF
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/META-INF/MANIFEST.MF
@@ -1,15 +1,16 @@
 Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.papyrus.infra.gmfdiag.layers.model;bundle-version="0.7.0",
- org.eclipse.emf.ecore;bundle-version="2.9.0",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.core.resources;bundle-version="3.8.100",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.emf,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.papyrus.infra.gmfdiag.css,
- org.eclipse.papyrus.infra.gmfdiag.css.properties
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.15.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.model;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.15.0,3.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.13.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.101.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.15.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[2.3.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css.properties;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.emf;bundle-version="[1.0.0,2.0.0)"
 Export-Package: org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime,
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.model,
  org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.service
@@ -21,4 +22,5 @@
 Bundle-ManifestVersion: 2
 Bundle-Activator: org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.Activator
 Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.layers.runtime;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.papyrus.infra.gmfdiag.layers.runtime
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayerStackSynchronizer.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayerStackSynchronizer.java
index 22fe44c..eec0410 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayerStackSynchronizer.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayerStackSynchronizer.java
@@ -564,8 +564,9 @@
 	 */
 	@Override
 	public void layerSet(Notification notification) {
-		log.info(this.getClass().getSimpleName() + " layerSet(not implemented) " + notification.getNewValue());
-
+		if (log.isDebugEnabled()) {
+			log.info(this.getClass().getSimpleName() + " layerSet(not implemented) " + notification.getNewValue());
+		}
 	}
 
 
@@ -728,8 +729,9 @@
 	 */
 	@Override
 	public void viewMovedBetweenLayer(Notification notification) {
-		log.info(this.getClass().getSimpleName() + " viewMovedBetweenLayer(not implemented) " + notification.getNewValue());
-
+		if (log.isDebugEnabled()) {
+			log.info(this.getClass().getSimpleName() + " viewMovedBetweenLayer(not implemented) " + notification.getNewValue());
+		}
 	}
 
 
@@ -742,7 +744,9 @@
 	 */
 	@Override
 	public void diagramViewAdded(Notification msg) {
-		log.info(this.getClass().getSimpleName() + " diagramViewAdded(not implemented) " + msg.getNewValue());
+		if (log.isDebugEnabled()) {
+			log.info(this.getClass().getSimpleName() + " diagramViewAdded(not implemented) " + msg.getNewValue());
+		}
 
 		// WARNING !!!
 		// Some filtering should be done on the event.
@@ -762,7 +766,9 @@
 	 */
 	@Override
 	public void diagramViewRemoved(Notification msg) {
-		log.info(this.getClass().getSimpleName() + " diagramViewRemoved(not implemented) " + msg.getOldValue());
+		if (log.isDebugEnabled()) {
+			log.info(this.getClass().getSimpleName() + " diagramViewRemoved(not implemented) " + msg.getOldValue());
+		}
 
 		// WARNING !!!
 		// Some filtering should be done on the event.
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersModelEventNotifier.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersModelEventNotifier.java
index b0cd768..b8eeb3d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersModelEventNotifier.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersModelEventNotifier.java
@@ -25,7 +25,7 @@
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.TypeInstance;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToTypeInstanceMapImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.util.ECoreUtils;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util.ECoreUtils;
 
 /**
  * This class listen to a {@link LayersStack} and send event to listeners.
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersModelEventUtils.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersModelEventUtils.java
index e8c2ba8..83107f4 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersModelEventUtils.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersModelEventUtils.java
@@ -19,7 +19,7 @@
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayer;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersPackage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.impl.StringToTypeInstanceMapImpl;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.util.ECoreUtils;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.util.ECoreUtils;
 
 
 /**
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersStackAndApplicationLifeCycleEventNotifier.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersStackAndApplicationLifeCycleEventNotifier.java
index 301d3ec..f75dac2 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersStackAndApplicationLifeCycleEventNotifier.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/LayersStackAndApplicationLifeCycleEventNotifier.java
@@ -40,7 +40,7 @@
 	 * States used in the state machine.
 	 */
 	protected enum State {
-		NoApplication, ApplicationCreated, disposed
+	NoApplication, ApplicationCreated, disposed
 	};
 
 	protected State state;
@@ -72,6 +72,7 @@
 		@Override
 		public void layersModelRootAdded(Notification msg) {
 			if (state == State.NoApplication) {
+				layersModel.shouldSave(true);
 				transitionNoApplicationToApplicationCreatedState();
 			}
 		}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/commands/HideLayerElementsCommand.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/commands/HideLayerElementsCommand.java
index cac3c9a..e3c6d26 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/commands/HideLayerElementsCommand.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/commands/HideLayerElementsCommand.java
@@ -118,7 +118,7 @@
 		// This used to call upon a style but the possibility of a style being present in multiple applied CSS broke the functionality
 		// The style strategy can be reintroduced if there is a way to only call upon one applied CSS instead of All of them
 
-		if (layer.isLayerEnabled() && !isAppliedCSS && null != cssToHide) {
+		if (!layer.isLayerEnabled() && !isAppliedCSS && null != cssToHide) {
 			AddCSSStyleSheetCommand acssc = new AddCSSStyleSheetCommand(ted, cssDiagram,
 					CSSStyles.CSS_DIAGRAM_STYLESHEETS_KEY,
 					NotationPackage.eINSTANCE.getEObjectListValueStyle(),
@@ -126,7 +126,7 @@
 					cssToHide);
 			acssc.execute();
 		}
-		if (!layer.isLayerEnabled() && isAppliedCSS && null != cssToHide) {
+		if (layer.isLayerEnabled() && isAppliedCSS && null != cssToHide) {
 			RemoveCSSStyleSheetCommand rcssc = new RemoveCSSStyleSheetCommand(ted, cssDiagram,
 					CSSStyles.CSS_DIAGRAM_STYLESHEETS_KEY,
 					NotationPackage.eINSTANCE.getEObjectListValueStyle(),
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/model/LayersModelResource.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/model/LayersModelResource.java
index 1a05b44..5e89711 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/model/LayersModelResource.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/model/LayersModelResource.java
@@ -14,10 +14,13 @@
 
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.papyrus.infra.core.resource.AbstractModelWithSharedResource;
 import org.eclipse.papyrus.infra.core.resource.IModel;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.Activator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.LayersStackAndApplicationLifeCycleEventNotifier;
 
 
@@ -43,13 +46,15 @@
 
 	private LayersStackAndApplicationLifeCycleEventNotifier layersStackAndApplicationLifeCycleEventNotifier = null;
 
+	boolean isDirty = false;
+
 
 	/**
 	 * Constructor.
 	 *
 	 */
 	public LayersModelResource() {
-		this.modelKind = modelKind.master;
+		this.modelKind = modelKind.slave;
 	}
 
 
@@ -118,15 +123,38 @@
 	}
 
 	/**
+	 * This is used to avoid creating the resource if no stack has been created
+	 * 
+	 * @param isDirty
+	 */
+	public void shouldSave(boolean isDirty) {
+		this.isDirty = isDirty;
+	}
+
+	/**
 	 * @see org.eclipse.papyrus.infra.core.resource.AbstractModelWithSharedResource#saveModel()
 	 *
 	 * @throws IOException
 	 */
 	@Override
 	public void saveModel() throws IOException {
-		// TODO Override the saveModel method in order to remove the modelKind=master
-		// This should be saved if the resource has been modified and is not empty
-		// i.e. contains at least one reference to a CSS
+
+		if (isDirty) {
+			final ModelSet set = getModelManager();
+
+			for (Resource resource : getResources()) {
+				if (set.shouldSave(resource)) {
+					try {
+						resource.save(null);
+					} catch (IOException ex) {
+						// If an exception occurs, we should not prevent other resources from being saved.
+						// This would probably make things even worse. Catch and log.
+						Activator.log.error(ex);
+					}
+				}
+			}
+		}
+
 		super.saveModel();
 	}
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/AbstractDerivedViewLayerNotifier.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/AbstractDerivedViewLayerNotifier.java
index 6099bd2..ddd5078 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/AbstractDerivedViewLayerNotifier.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/AbstractDerivedViewLayerNotifier.java
@@ -1,134 +1,134 @@
-/*****************************************************************************
- * Copyright (c) 2013 Cedric Dumoulin.
- *
- *
- * 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:
- *  Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer;
-
-/**
- * Common ancestor of DerivedViewLayerNotifier.
- * This class maintains a list of listeners. It allows to add and remove listeners.
- * If there is no more listener, stop listening on external events.
- * Start listening on external events as soon as there is a listener.
- *
- * @author cedric dumoulin
- *
- */
-public abstract class AbstractDerivedViewLayerNotifier {
-
-	/**
-	 * List of listeners that should be notified.
-	 */
-	protected List<RegExpLayer> listeners = new ArrayList<RegExpLayer>();
-
-	/**
-	 * Indicate if this Notifier is listening on externals events
-	 */
-	private boolean isListening = false;
-
-	/**
-	 * Attach the listener to this notifier.
-	 *
-	 * @param layer
-	 */
-	public void addListener(RegExpLayer listener) {
-		if (!listeners.contains(listener)) {
-			listeners.add(listener);
-			checkStartListening();
-		}
-	}
-
-	/**
-	 * Attach the listener to this notifier.
-	 *
-	 * @param layer
-	 */
-	public void removeListener(RegExpLayer listener) {
-		listeners.remove(listener);
-		checkStopListening();
-
-	}
-
-	/**
-	 * Attach the listener to this notifier.
-	 *
-	 * @param layer
-	 */
-	public void removeAllListeners() {
-		isListening = false;
-		listeners.clear();
-		stopListening();
-	}
-
-	/**
-	 * Check if we should start listening.
-	 * If the class is not listening on externals events, and there is some listeners, then
-	 * start listening (call {@link #startListening()} and set {@link #isListening()} to true.
-	 */
-	private void checkStartListening() {
-		if (!isListening() && listeners.size() > 0) {
-			isListening = true;
-			startListening();
-		}
-	}
-
-	/**
-	 * Check if we should stop listening.
-	 * If the class is listening on externals events, and there is no more listeners, then
-	 * stop listening (call {@link #stopListening()} and set {@link #isListening()} to false.
-	 */
-	private void checkStopListening() {
-		if (isListening() && listeners.size() == 0) {
-			isListening = false;
-			stopListening();
-		}
-	}
-
-	/**
-	 * fire the event to all registered listeners.
-	 */
-	public void fireEvent() {
-		for (RegExpLayer listener : listeners) {
-			// listener.evaluateExpr();
-		}
-	}
-
-	/**
-	 * Start listening on external events.
-	 * Should be implemented by subclass
-	 */
-	abstract protected void startListening();
-
-	/**
-	 * Stop listening on external events.
-	 * Should be implemented by subclass
-	 */
-	abstract protected void stopListening();
-
-	/**
-	 * Return true if this Notifier is listening on externals events.
-	 *
-	 * @return
-	 */
-	public boolean isListening() {
-		// This notifier is listening if there is some listener in the list
-		return isListening;
-	}
-
-
-
-}
+/// *****************************************************************************
+// * Copyright (c) 2013 Cedric Dumoulin.
+// *
+// *
+// * 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:
+// * Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
+// *
+// *****************************************************************************/
+//
+// package org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier;
+//
+// import java.util.ArrayList;
+// import java.util.List;
+//
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer;
+//
+/// **
+// * Common ancestor of DerivedViewLayerNotifier.
+// * This class maintains a list of listeners. It allows to add and remove listeners.
+// * If there is no more listener, stop listening on external events.
+// * Start listening on external events as soon as there is a listener.
+// *
+// * @author cedric dumoulin
+// *
+// */
+// public abstract class AbstractDerivedViewLayerNotifier {
+//
+// /**
+// * List of listeners that should be notified.
+// */
+// protected List<RegExpLayer> listeners = new ArrayList<RegExpLayer>();
+//
+// /**
+// * Indicate if this Notifier is listening on externals events
+// */
+// private boolean isListening = false;
+//
+// /**
+// * Attach the listener to this notifier.
+// *
+// * @param layer
+// */
+// public void addListener(RegExpLayer listener) {
+// if (!listeners.contains(listener)) {
+// listeners.add(listener);
+// checkStartListening();
+// }
+// }
+//
+// /**
+// * Attach the listener to this notifier.
+// *
+// * @param layer
+// */
+// public void removeListener(RegExpLayer listener) {
+// listeners.remove(listener);
+// checkStopListening();
+//
+// }
+//
+// /**
+// * Attach the listener to this notifier.
+// *
+// * @param layer
+// */
+// public void removeAllListeners() {
+// isListening = false;
+// listeners.clear();
+// stopListening();
+// }
+//
+// /**
+// * Check if we should start listening.
+// * If the class is not listening on externals events, and there is some listeners, then
+// * start listening (call {@link #startListening()} and set {@link #isListening()} to true.
+// */
+// private void checkStartListening() {
+// if (!isListening() && listeners.size() > 0) {
+// isListening = true;
+// startListening();
+// }
+// }
+//
+// /**
+// * Check if we should stop listening.
+// * If the class is listening on externals events, and there is no more listeners, then
+// * stop listening (call {@link #stopListening()} and set {@link #isListening()} to false.
+// */
+// private void checkStopListening() {
+// if (isListening() && listeners.size() == 0) {
+// isListening = false;
+// stopListening();
+// }
+// }
+//
+// /**
+// * fire the event to all registered listeners.
+// */
+// public void fireEvent() {
+// for (RegExpLayer listener : listeners) {
+// // listener.evaluateExpr();
+// }
+// }
+//
+// /**
+// * Start listening on external events.
+// * Should be implemented by subclass
+// */
+// abstract protected void startListening();
+//
+// /**
+// * Stop listening on external events.
+// * Should be implemented by subclass
+// */
+// abstract protected void stopListening();
+//
+// /**
+// * Return true if this Notifier is listening on externals events.
+// *
+// * @return
+// */
+// public boolean isListening() {
+// // This notifier is listening if there is some listener in the list
+// return isListening;
+// }
+//
+//
+//
+// }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/DiagramChangedEventNotifier.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/DiagramChangedEventNotifier.java
index 6bae920..329640e 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/DiagramChangedEventNotifier.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/DiagramChangedEventNotifier.java
@@ -1,67 +1,67 @@
-/*****************************************************************************
- * Copyright (c) 2013 Cedric Dumoulin.
- *
- *
- * 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:
- *  Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier;
-
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
-
-/**
- * Notify listeners when a change occurs on an domain element associated to an element of the LayerStack's diagram.
- *
- * @author cedric dumoulin
- *
- */
-public class DiagramChangedEventNotifier extends AbstractDerivedViewLayerNotifier {
-
-	/**
-	 * {@link LayersStack} containing the {@link Diagram} on which this notifier is listening changes.
-	 */
-	protected LayersStack layersStack;
-
-	/**
-	 *
-	 * Constructor.
-	 *
-	 * @param layersStack
-	 */
-	public DiagramChangedEventNotifier(LayersStack layersStack) {
-		this.layersStack = layersStack;
-	}
-
-	/**
-	 * Start listening on externals events that should be relayed by this Notifier.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier.AbstractDerivedViewLayerNotifier#startListening()
-	 *
-	 */
-	@Override
-	protected void startListening() {
-		// TODO Auto-generated method stub
-
-	}
-
-	/**
-	 * Start listening on externals events that should be relayed by this Notifier.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier.AbstractDerivedViewLayerNotifier#stopListening()
-	 *
-	 */
-	@Override
-	protected void stopListening() {
-		// TODO Auto-generated method stub
-
-	}
-
-}
+/// *****************************************************************************
+// * Copyright (c) 2013 Cedric Dumoulin.
+// *
+// *
+// * 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:
+// * Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
+// *
+// *****************************************************************************/
+//
+// package org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier;
+//
+// import org.eclipse.gmf.runtime.notation.Diagram;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
+//
+/// **
+// * Notify listeners when a change occurs on an domain element associated to an element of the LayerStack's diagram.
+// *
+// * @author cedric dumoulin
+// *
+// */
+// public class DiagramChangedEventNotifier extends AbstractDerivedViewLayerNotifier {
+//
+// /**
+// * {@link LayersStack} containing the {@link Diagram} on which this notifier is listening changes.
+// */
+// protected LayersStack layersStack;
+//
+// /**
+// *
+// * Constructor.
+// *
+// * @param layersStack
+// */
+// public DiagramChangedEventNotifier(LayersStack layersStack) {
+// this.layersStack = layersStack;
+// }
+//
+// /**
+// * Start listening on externals events that should be relayed by this Notifier.
+// *
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier.AbstractDerivedViewLayerNotifier#startListening()
+// *
+// */
+// @Override
+// protected void startListening() {
+// // TODO Auto-generated method stub
+//
+// }
+//
+// /**
+// * Start listening on externals events that should be relayed by this Notifier.
+// *
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier.AbstractDerivedViewLayerNotifier#stopListening()
+// *
+// */
+// @Override
+// protected void stopListening() {
+// // TODO Auto-generated method stub
+//
+// }
+//
+// }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/DomainChangedEventNotifier.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/DomainChangedEventNotifier.java
index fea181d..f00a45d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/DomainChangedEventNotifier.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.runtime/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/runtime/notifier/DomainChangedEventNotifier.java
@@ -1,67 +1,67 @@
-/*****************************************************************************
- * Copyright (c) 2013 Cedric Dumoulin.
- *
- *
- * 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:
- *  Cedric Dumoulin  Cedric.dumoulin@lifl.fr - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier;
-
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
-
-/**
- * Notify listeners when a change occurs on an domain element associated to an element of the LayerStack's diagram.
- *
- * @author cedric dumoulin
- *
- */
-public class DomainChangedEventNotifier extends AbstractDerivedViewLayerNotifier {
-
-	/**
-	 * {@link LayersStack} containing the {@link Diagram} on which this notifier is listening changes.
-	 */
-	protected LayersStack layersStack;
-
-	/**
-	 *
-	 * Constructor.
-	 *
-	 * @param layersStack
-	 */
-	public DomainChangedEventNotifier(LayersStack layersStack) {
-		this.layersStack = layersStack;
-	}
-
-	/**
-	 * Start listening on externals events that should be relayed by this Notifier.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier.AbstractDerivedViewLayerNotifier#startListening()
-	 *
-	 */
-	@Override
-	protected void startListening() {
-		// TODO Auto-generated method stub
-
-	}
-
-	/**
-	 * Start listening on externals events that should be relayed by this Notifier.
-	 *
-	 * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier.AbstractDerivedViewLayerNotifier#stopListening()
-	 *
-	 */
-	@Override
-	protected void stopListening() {
-		// TODO Auto-generated method stub
-
-	}
-
-}
+/// *****************************************************************************
+// * Copyright (c) 2013 Cedric Dumoulin.
+// *
+// *
+// * 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:
+// * Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
+// *
+// *****************************************************************************/
+//
+// package org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier;
+//
+// import org.eclipse.gmf.runtime.notation.Diagram;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
+//
+/// **
+// * Notify listeners when a change occurs on an domain element associated to an element of the LayerStack's diagram.
+// *
+// * @author cedric dumoulin
+// *
+// */
+// public class DomainChangedEventNotifier extends AbstractDerivedViewLayerNotifier {
+//
+// /**
+// * {@link LayersStack} containing the {@link Diagram} on which this notifier is listening changes.
+// */
+// protected LayersStack layersStack;
+//
+// /**
+// *
+// * Constructor.
+// *
+// * @param layersStack
+// */
+// public DomainChangedEventNotifier(LayersStack layersStack) {
+// this.layersStack = layersStack;
+// }
+//
+// /**
+// * Start listening on externals events that should be relayed by this Notifier.
+// *
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier.AbstractDerivedViewLayerNotifier#startListening()
+// *
+// */
+// @Override
+// protected void startListening() {
+// // TODO Auto-generated method stub
+//
+// }
+//
+// /**
+// * Start listening on externals events that should be relayed by this Notifier.
+// *
+// * @see org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.notifier.AbstractDerivedViewLayerNotifier#stopListening()
+// *
+// */
+// @Override
+// protected void stopListening() {
+// // TODO Auto-generated method stub
+//
+// }
+//
+// }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/.classpath b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/.classpath
index ad32c83..eca7bdb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/.classpath
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/.settings/org.eclipse.jdt.core.prefs b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/.settings/org.eclipse.jdt.core.prefs
index 94d61f0..b3aa6d6 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
 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.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.6
+org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/META-INF/MANIFEST.MF b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/META-INF/MANIFEST.MF
index 22c4a01..6c3006d 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/META-INF/MANIFEST.MF
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/META-INF/MANIFEST.MF
@@ -1,41 +1,41 @@
 Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.papyrus.infra.core.sasheditor;bundle-version="1.2.0",
- org.eclipse.ui.forms;bundle-version="3.5.200",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.7.0",
- org.eclipse.emf;bundle-version="2.6.0",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.gmfdiag.layers.runtime;bundle-version="0.7.0",
- org.eclipse.core.databinding,
- org.eclipse.core.databinding.beans,
- org.eclipse.core.databinding.observable,
- org.eclipse.core.databinding.property,
- org.eclipse.emf.databinding,
- org.eclipse.uml2.uml;bundle-version="4.1.0",
- org.eclipse.uml2.uml.edit;bundle-version="4.0.100",
- org.eclipse.emf.databinding.edit;bundle-version="1.3.0",
- org.eclipse.jface.databinding;bundle-version="1.6.200",
- org.eclipse.gmf.runtime.diagram.ui.properties,
- org.eclipse.ui.ide;bundle-version="3.9.0",
- org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="1.7.0",
- org.eclipse.core.expressions;bundle-version="3.4.500",
- org.eclipse.papyrus.infra.gmfdiag.layers.model;bundle-version="0.7.0",
- org.eclipse.papyrus.views.modelexplorer;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.properties.ui;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0",
- org.eclipse.ui.navigator;bundle-version="3.5.300",
- org.eclipse.gmf.runtime.notation.edit;bundle-version="1.7.0",
- org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.gmfdiag.hyperlink;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.ui;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.gmfdiag.layers.model.edit;bundle-version="0.7.0",
- org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit,
- org.eclipse.papyrus.infra.gmfdiag.css.properties,
- org.eclipse.papyrus.infra.internationalization.utils,
- org.eclipse.papyrus.infra.viewpoints.policy
+Require-Bundle: org.eclipse.ui;bundle-version="[3.110.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.15.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.sasheditor;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.ui.forms;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.emf;bundle-version="[2.8.0,3.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.runtime;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.core.databinding;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.core.databinding.beans;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.core.databinding.property;bundle-version="[1.6.0,2.0.0)",
+ org.eclipse.emf.databinding;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.4.0,6.0.0)",
+ org.eclipse.uml2.uml.edit;bundle-version="[5.4.0,6.0.0)",
+ org.eclipse.emf.databinding.edit;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.jface.databinding;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.properties;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.14.0,4.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.model;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.views.modelexplorer;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.properties.ui;bundle-version="[3.3.0,4.0.0)",
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.3.0,4.0.0)",
+ org.eclipse.ui.navigator;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.gmf.runtime.notation.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.hyperlink;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.model.edit;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.layers.notationmodel.edit;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css.properties;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.internationalization.utils;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[3.0.0,4.0.0)"
 Bundle-Vendor: %providerName
 Bundle-ActivationPolicy: lazy
 Bundle-Version: 0.8.0.qualifier
@@ -44,4 +44,5 @@
 Bundle-ManifestVersion: 2
 Bundle-Activator: org.eclipse.papyrus.internal.infra.gmfdiag.layers.ui.Activator
 Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.layers.ui;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.papyrus.infra.gmfdiag.layers.ui
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/layers.ctx b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/layers.ctx
index b1f6b9f..c104a4f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/layers.ctx
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/layers.ctx
@@ -1,1722 +1,1081 @@
 <?xml version="1.0" encoding="ASCII"?>
-<contexts:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:constraints="http://www.eclipse.org/papyrus/constraints/0.9" xmlns:contexts="http://www.eclipse.org/papyrus/properties/contexts/0.9" xmi:id="_umc1gHX6Eeipp8d5W3Vl9g" name="layers">
-  <tabs xmi:id="_Zixx8HX7Eeipp8d5W3Vl9g" label="Layers" id="layers" priority="10">
-    <sections xmi:id="_Zixx8XX7Eeipp8d5W3Vl9g" name="Single LayerNamedStyle" sectionFile="ui/SingleLayerNamedStyle.xwt">
+<contexts:Context xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:constraints="http://www.eclipse.org/papyrus/constraints/0.9" xmlns:contexts="http://www.eclipse.org/papyrus/properties/contexts/0.9" xmi:id="_PEETIMAEEeic_M-KksGsuA" name="layers">
+  <tabs xmi:id="_pzEsYMAEEeic_M-KksGsuA" label="Layers" id="layers" priority="10">
+    <sections xmi:id="_pzN2UMAEEeic_M-KksGsuA" name="Single LayerNamedStyle" sectionFile="ui/SingleLayerNamedStyle.xwt">
       <widget href="ui/SingleLayerNamedStyle.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zixx8nX7Eeipp8d5W3Vl9g" name="Single LayersStack" sectionFile="ui/SingleLayersStack.xwt">
+    <sections xmi:id="_pzRgsMAEEeic_M-KksGsuA" name="Single LayersStack" sectionFile="ui/SingleLayersStack.xwt">
       <widget href="ui/SingleLayersStack.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zixx83X7Eeipp8d5W3Vl9g" name="Single LayerExpression" sectionFile="ui/SingleLayerExpression.xwt">
+    <sections xmi:id="_pzRgscAEEeic_M-KksGsuA" name="Single LayerExpression" sectionFile="ui/SingleLayerExpression.xwt">
       <widget href="ui/SingleLayerExpression.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZAHX7Eeipp8d5W3Vl9g" name="Single ApplicationDependantElement" sectionFile="ui/SingleApplicationDependantElement.xwt">
+    <sections xmi:id="_pzSHwMAEEeic_M-KksGsuA" name="Single ApplicationDependantElement" sectionFile="ui/SingleApplicationDependantElement.xwt">
       <widget href="ui/SingleApplicationDependantElement.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZAXX7Eeipp8d5W3Vl9g" name="Single LayersStackApplication" sectionFile="ui/SingleLayersStackApplication.xwt">
+    <sections xmi:id="_pzSHwcAEEeic_M-KksGsuA" name="Single LayersStackApplication" sectionFile="ui/SingleLayersStackApplication.xwt">
       <widget href="ui/SingleLayersStackApplication.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZAnX7Eeipp8d5W3Vl9g" name="Single FolderElement" sectionFile="ui/SingleFolderElement.xwt">
+    <sections xmi:id="_pzSu0MAEEeic_M-KksGsuA" name="Single FolderElement" sectionFile="ui/SingleFolderElement.xwt">
       <widget href="ui/SingleFolderElement.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZA3X7Eeipp8d5W3Vl9g" name="Single LayerStackDescriptorRegistry" sectionFile="ui/SingleLayerStackDescriptorRegistry.xwt">
+    <sections xmi:id="_pzSu0cAEEeic_M-KksGsuA" name="Single LayerStackDescriptorRegistry" sectionFile="ui/SingleLayerStackDescriptorRegistry.xwt">
       <widget href="ui/SingleLayerStackDescriptorRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZBHX7Eeipp8d5W3Vl9g" name="Single PropertyRegistry" sectionFile="ui/SinglePropertyRegistry.xwt">
+    <sections xmi:id="_pzTV4MAEEeic_M-KksGsuA" name="Single PropertyRegistry" sectionFile="ui/SinglePropertyRegistry.xwt">
       <widget href="ui/SinglePropertyRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZBXX7Eeipp8d5W3Vl9g" name="Single Property" sectionFile="ui/SingleProperty.xwt">
+    <sections xmi:id="_pzTV4cAEEeic_M-KksGsuA" name="Single Property" sectionFile="ui/SingleProperty.xwt">
       <widget href="ui/SingleProperty.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZBnX7Eeipp8d5W3Vl9g" name="Single Type" sectionFile="ui/SingleType.xwt">
+    <sections xmi:id="_pzTV4sAEEeic_M-KksGsuA" name="Single Type" sectionFile="ui/SingleType.xwt">
       <widget href="ui/SingleType.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZB3X7Eeipp8d5W3Vl9g" name="Single Metamodel" sectionFile="ui/SingleMetamodel.xwt">
-      <widget href="ui/SingleMetamodel.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZiyZCHX7Eeipp8d5W3Vl9g" name="Single TypeInstance" sectionFile="ui/SingleTypeInstance.xwt">
+    <sections xmi:id="_pzTV48AEEeic_M-KksGsuA" name="Single TypeInstance" sectionFile="ui/SingleTypeInstance.xwt">
       <widget href="ui/SingleTypeInstance.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZCXX7Eeipp8d5W3Vl9g" name="Single ComputePropertyValueCommandItf" sectionFile="ui/SingleComputePropertyValueCommandItf.xwt">
+    <sections xmi:id="_pzTV5MAEEeic_M-KksGsuA" name="Single ComputePropertyValueCommandItf" sectionFile="ui/SingleComputePropertyValueCommandItf.xwt">
       <widget href="ui/SingleComputePropertyValueCommandItf.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZCnX7Eeipp8d5W3Vl9g" name="Single TypeRegistry" sectionFile="ui/SingleTypeRegistry.xwt">
+    <sections xmi:id="_pzT88MAEEeic_M-KksGsuA" name="Single TypeRegistry" sectionFile="ui/SingleTypeRegistry.xwt">
       <widget href="ui/SingleTypeRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZC3X7Eeipp8d5W3Vl9g" name="Single StringToTypeMap" sectionFile="ui/SingleStringToTypeMap.xwt">
+    <sections xmi:id="_pzT88cAEEeic_M-KksGsuA" name="Single StringToTypeMap" sectionFile="ui/SingleStringToTypeMap.xwt">
       <widget href="ui/SingleStringToTypeMap.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZDHX7Eeipp8d5W3Vl9g" name="Single LayerDescriptorRegistry" sectionFile="ui/SingleLayerDescriptorRegistry.xwt">
+    <sections xmi:id="_pzT88sAEEeic_M-KksGsuA" name="Single LayerDescriptorRegistry" sectionFile="ui/SingleLayerDescriptorRegistry.xwt">
       <widget href="ui/SingleLayerDescriptorRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZDXX7Eeipp8d5W3Vl9g" name="Single LayerDescriptor" sectionFile="ui/SingleLayerDescriptor.xwt">
+    <sections xmi:id="_pzT888AEEeic_M-KksGsuA" name="Single LayerDescriptor" sectionFile="ui/SingleLayerDescriptor.xwt">
       <widget href="ui/SingleLayerDescriptor.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZDnX7Eeipp8d5W3Vl9g" name="Single LayerApplicationFactory" sectionFile="ui/SingleLayerApplicationFactory.xwt">
+    <sections xmi:id="_pzT89MAEEeic_M-KksGsuA" name="Single LayerApplicationFactory" sectionFile="ui/SingleLayerApplicationFactory.xwt">
       <widget href="ui/SingleLayerApplicationFactory.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZD3X7Eeipp8d5W3Vl9g" name="Single PropertySetterRegistry" sectionFile="ui/SinglePropertySetterRegistry.xwt">
+    <sections xmi:id="_pzUkAMAEEeic_M-KksGsuA" name="Single PropertySetterRegistry" sectionFile="ui/SinglePropertySetterRegistry.xwt">
       <widget href="ui/SinglePropertySetterRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZEHX7Eeipp8d5W3Vl9g" name="Single PropertySetter" sectionFile="ui/SinglePropertySetter.xwt">
+    <sections xmi:id="_pzUkAcAEEeic_M-KksGsuA" name="Single PropertySetter" sectionFile="ui/SinglePropertySetter.xwt">
       <widget href="ui/SinglePropertySetter.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZEXX7Eeipp8d5W3Vl9g" name="Single StringToPropertySetter" sectionFile="ui/SingleStringToPropertySetter.xwt">
+    <sections xmi:id="_pzUkAsAEEeic_M-KksGsuA" name="Single StringToPropertySetter" sectionFile="ui/SingleStringToPropertySetter.xwt">
       <widget href="ui/SingleStringToPropertySetter.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZEnX7Eeipp8d5W3Vl9g" name="Single LayerOperatorDescriptorRegistry" sectionFile="ui/SingleLayerOperatorDescriptorRegistry.xwt">
+    <sections xmi:id="_pzUkA8AEEeic_M-KksGsuA" name="Single LayerOperatorDescriptorRegistry" sectionFile="ui/SingleLayerOperatorDescriptorRegistry.xwt">
       <widget href="ui/SingleLayerOperatorDescriptorRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiyZE3X7Eeipp8d5W3Vl9g" name="Single LayerOperatorDescriptor" sectionFile="ui/SingleLayerOperatorDescriptor.xwt">
+    <sections xmi:id="_pzUkBMAEEeic_M-KksGsuA" name="Single LayerOperatorDescriptor" sectionFile="ui/SingleLayerOperatorDescriptor.xwt">
       <widget href="ui/SingleLayerOperatorDescriptor.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZizAEHX7Eeipp8d5W3Vl9g" name="Single PropertyOperator" sectionFile="ui/SinglePropertyOperator.xwt">
+    <sections xmi:id="_pzUkBcAEEeic_M-KksGsuA" name="Single PropertyOperator" sectionFile="ui/SinglePropertyOperator.xwt">
       <widget href="ui/SinglePropertyOperator.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZizAEXX7Eeipp8d5W3Vl9g" name="Single AbstractLayerOperator" sectionFile="ui/SingleAbstractLayerOperator.xwt">
-      <widget href="ui/SingleAbstractLayerOperator.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZizAEnX7Eeipp8d5W3Vl9g" name="Single LayerOperator" sectionFile="ui/SingleLayerOperator.xwt">
+    <sections xmi:id="_pzVLEMAEEeic_M-KksGsuA" name="Single LayerOperator" sectionFile="ui/SingleLayerOperator.xwt">
       <widget href="ui/SingleLayerOperator.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZizAE3X7Eeipp8d5W3Vl9g" name="Single LayersContainer" sectionFile="ui/SingleLayersContainer.xwt">
+    <sections xmi:id="_pzVLEcAEEeic_M-KksGsuA" name="Single LayersContainer" sectionFile="ui/SingleLayersContainer.xwt">
       <widget href="ui/SingleLayersContainer.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZizAFHX7Eeipp8d5W3Vl9g" name="Single DefaultPropertyOperator" sectionFile="ui/SingleDefaultPropertyOperator.xwt">
-      <widget href="ui/SingleDefaultPropertyOperator.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZizAFXX7Eeipp8d5W3Vl9g" name="Single AbstractLayer" sectionFile="ui/SingleAbstractLayer.xwt">
+    <sections xmi:id="_pzVLEsAEEeic_M-KksGsuA" name="Single AbstractLayer" sectionFile="ui/SingleAbstractLayer.xwt">
       <widget href="ui/SingleAbstractLayer.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZizAFnX7Eeipp8d5W3Vl9g" name="Single StringToTypeInstanceMap" sectionFile="ui/SingleStringToTypeInstanceMap.xwt">
+    <sections xmi:id="_pzVyIMAEEeic_M-KksGsuA" name="Single StringToTypeInstanceMap" sectionFile="ui/SingleStringToTypeInstanceMap.xwt">
       <widget href="ui/SingleStringToTypeInstanceMap.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZizAF3X7Eeipp8d5W3Vl9g" name="Single Folder" sectionFile="ui/SingleFolder.xwt">
+    <sections xmi:id="_pzVyIcAEEeic_M-KksGsuA" name="Single Folder" sectionFile="ui/SingleFolder.xwt">
       <widget href="ui/SingleFolder.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZizAGHX7Eeipp8d5W3Vl9g" name="Single IntInstance" sectionFile="ui/SingleIntInstance.xwt">
-      <widget href="ui/SingleIntInstance.xwt#/"/>
+    <sections xmi:id="_pzVyIsAEEeic_M-KksGsuA" name="Single Metamodel" sectionFile="ui/SingleMetamodel.xwt">
+      <widget href="ui/SingleMetamodel.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZizAGXX7Eeipp8d5W3Vl9g" name="Single BooleanInstance" sectionFile="ui/SingleBooleanInstance.xwt">
-      <widget href="ui/SingleBooleanInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZizAGnX7Eeipp8d5W3Vl9g" name="Single StringInstance" sectionFile="ui/SingleStringInstance.xwt">
-      <widget href="ui/SingleStringInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZizAG3X7Eeipp8d5W3Vl9g" name="Single IntType" sectionFile="ui/SingleIntType.xwt">
-      <widget href="ui/SingleIntType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZizAHHX7Eeipp8d5W3Vl9g" name="Single BooleanType" sectionFile="ui/SingleBooleanType.xwt">
-      <widget href="ui/SingleBooleanType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZizAHXX7Eeipp8d5W3Vl9g" name="Single StringType" sectionFile="ui/SingleStringType.xwt">
-      <widget href="ui/SingleStringType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZizAHnX7Eeipp8d5W3Vl9g" name="Single CustomType" sectionFile="ui/SingleCustomType.xwt">
-      <widget href="ui/SingleCustomType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZiznIHX7Eeipp8d5W3Vl9g" name="Single TopLayerOperator" sectionFile="ui/SingleTopLayerOperator.xwt">
+    <sections xmi:id="_pzVyI8AEEeic_M-KksGsuA" name="Single TopLayerOperator" sectionFile="ui/SingleTopLayerOperator.xwt">
       <widget href="ui/SingleTopLayerOperator.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiznIXX7Eeipp8d5W3Vl9g" name="Single StackedLayerOperator" sectionFile="ui/SingleStackedLayerOperator.xwt">
+    <sections xmi:id="_pzWZMMAEEeic_M-KksGsuA" name="Single StackedLayerOperator" sectionFile="ui/SingleStackedLayerOperator.xwt">
       <widget href="ui/SingleStackedLayerOperator.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiznInX7Eeipp8d5W3Vl9g" name="Single CustomLayerOperator" sectionFile="ui/SingleCustomLayerOperator.xwt">
-      <widget href="ui/SingleCustomLayerOperator.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZiznI3X7Eeipp8d5W3Vl9g" name="Single PropertyIndex" sectionFile="ui/SinglePropertyIndex.xwt">
+    <sections xmi:id="_pzWZMcAEEeic_M-KksGsuA" name="Single PropertyIndex" sectionFile="ui/SinglePropertyIndex.xwt">
       <widget href="ui/SinglePropertyIndex.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiznJHX7Eeipp8d5W3Vl9g" name="Single StringToPropertyIndexMap" sectionFile="ui/SingleStringToPropertyIndexMap.xwt">
+    <sections xmi:id="_pzWZMsAEEeic_M-KksGsuA" name="Single StringToPropertyIndexMap" sectionFile="ui/SingleStringToPropertyIndexMap.xwt">
       <widget href="ui/SingleStringToPropertyIndexMap.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiznJXX7Eeipp8d5W3Vl9g" name="Single SimpleLayerDescriptor" sectionFile="ui/SingleSimpleLayerDescriptor.xwt">
+    <sections xmi:id="_pzWZM8AEEeic_M-KksGsuA" name="Single SimpleLayerDescriptor" sectionFile="ui/SingleSimpleLayerDescriptor.xwt">
       <widget href="ui/SingleSimpleLayerDescriptor.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiznJnX7Eeipp8d5W3Vl9g" name="Single RegExpLayerDescriptor" sectionFile="ui/SingleRegExpLayerDescriptor.xwt">
-      <widget href="ui/SingleRegExpLayerDescriptor.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZiznJ3X7Eeipp8d5W3Vl9g" name="Single NullInstance" sectionFile="ui/SingleNullInstance.xwt">
+    <sections xmi:id="_pzWZNMAEEeic_M-KksGsuA" name="Single NullInstance" sectionFile="ui/SingleNullInstance.xwt">
       <widget href="ui/SingleNullInstance.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiznKHX7Eeipp8d5W3Vl9g" name="Single RegExpLayer" sectionFile="ui/SingleRegExpLayer.xwt">
-      <widget href="ui/SingleRegExpLayer.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZiznKXX7Eeipp8d5W3Vl9g" name="Single Layer" sectionFile="ui/SingleLayer.xwt">
+    <sections xmi:id="_pzXAQMAEEeic_M-KksGsuA" name="Single Layer" sectionFile="ui/SingleLayer.xwt">
       <widget href="ui/SingleLayer.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZiznKnX7Eeipp8d5W3Vl9g" name="Single Color" sectionFile="ui/SingleColor.xwt">
-      <widget href="ui/SingleColor.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZiznK3X7Eeipp8d5W3Vl9g" name="Single ColorInstance" sectionFile="ui/SingleColorInstance.xwt">
-      <widget href="ui/SingleColorInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZiznLHX7Eeipp8d5W3Vl9g" name="Single FillInstance" sectionFile="ui/SingleFillInstance.xwt">
-      <widget href="ui/SingleFillInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZiznLXX7Eeipp8d5W3Vl9g" name="Single Fill" sectionFile="ui/SingleFill.xwt">
-      <widget href="ui/SingleFill.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZiznLnX7Eeipp8d5W3Vl9g" name="Single FillPropertySetter" sectionFile="ui/SingleFillPropertySetter.xwt">
-      <widget href="ui/SingleFillPropertySetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0OMHX7Eeipp8d5W3Vl9g" name="Single IsValidPropertySetter" sectionFile="ui/SingleIsValidPropertySetter.xwt">
-      <widget href="ui/SingleIsValidPropertySetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0OMXX7Eeipp8d5W3Vl9g" name="Single NullPropertySetter" sectionFile="ui/SingleNullPropertySetter.xwt">
+    <sections xmi:id="_pzXAQcAEEeic_M-KksGsuA" name="Single NullPropertySetter" sectionFile="ui/SingleNullPropertySetter.xwt">
       <widget href="ui/SingleNullPropertySetter.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi0OMnX7Eeipp8d5W3Vl9g" name="Single LineType" sectionFile="ui/SingleLineType.xwt">
-      <widget href="ui/SingleLineType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0OM3X7Eeipp8d5W3Vl9g" name="Single LineInstance" sectionFile="ui/SingleLineInstance.xwt">
-      <widget href="ui/SingleLineInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0ONHX7Eeipp8d5W3Vl9g" name="Single LinePropertySetter" sectionFile="ui/SingleLinePropertySetter.xwt">
-      <widget href="ui/SingleLinePropertySetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0ONXX7Eeipp8d5W3Vl9g" name="Single FontPropertySetter" sectionFile="ui/SingleFontPropertySetter.xwt">
-      <widget href="ui/SingleFontPropertySetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0ONnX7Eeipp8d5W3Vl9g" name="Single FontInstance" sectionFile="ui/SingleFontInstance.xwt">
-      <widget href="ui/SingleFontInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0ON3X7Eeipp8d5W3Vl9g" name="Single FontType" sectionFile="ui/SingleFontType.xwt">
-      <widget href="ui/SingleFontType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0OOHX7Eeipp8d5W3Vl9g" name="Single IsVisiblePropertySetter" sectionFile="ui/SingleIsVisiblePropertySetter.xwt">
-      <widget href="ui/SingleIsVisiblePropertySetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0OOXX7Eeipp8d5W3Vl9g" name="Single TopLayerOperatorDescriptor" sectionFile="ui/SingleTopLayerOperatorDescriptor.xwt">
+    <sections xmi:id="_pzXAQsAEEeic_M-KksGsuA" name="Single TopLayerOperatorDescriptor" sectionFile="ui/SingleTopLayerOperatorDescriptor.xwt">
       <widget href="ui/SingleTopLayerOperatorDescriptor.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi0OOnX7Eeipp8d5W3Vl9g" name="Single StackedLayerOperatorDescriptor" sectionFile="ui/SingleStackedLayerOperatorDescriptor.xwt">
+    <sections xmi:id="_pzXAQ8AEEeic_M-KksGsuA" name="Single StackedLayerOperatorDescriptor" sectionFile="ui/SingleStackedLayerOperatorDescriptor.xwt">
       <widget href="ui/SingleStackedLayerOperatorDescriptor.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi0OO3X7Eeipp8d5W3Vl9g" name="Single CustomPropertyOperator" sectionFile="ui/SingleCustomPropertyOperator.xwt">
-      <widget href="ui/SingleCustomPropertyOperator.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0OPHX7Eeipp8d5W3Vl9g" name="Single AndStackedLayerOperatorDescriptor" sectionFile="ui/SingleAndStackedLayerOperatorDescriptor.xwt">
-      <widget href="ui/SingleAndStackedLayerOperatorDescriptor.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0OPXX7Eeipp8d5W3Vl9g" name="Single OrStackedLayerOperatorDescriptor" sectionFile="ui/SingleOrStackedLayerOperatorDescriptor.xwt">
-      <widget href="ui/SingleOrStackedLayerOperatorDescriptor.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0OPnX7Eeipp8d5W3Vl9g" name="Single IsAbstractUmlSetter" sectionFile="ui/SingleIsAbstractUmlSetter.xwt">
-      <widget href="ui/SingleIsAbstractUmlSetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi0OP3X7Eeipp8d5W3Vl9g" name="Single AllViewsDerivedLayer" sectionFile="ui/SingleAllViewsDerivedLayer.xwt">
+    <sections xmi:id="_pzXARMAEEeic_M-KksGsuA" name="Single AllViewsDerivedLayer" sectionFile="ui/SingleAllViewsDerivedLayer.xwt">
       <widget href="ui/SingleAllViewsDerivedLayer.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi0OQHX7Eeipp8d5W3Vl9g" name="Single CSSPropertySetter" sectionFile="ui/SingleCSSPropertySetter.xwt">
+    <sections xmi:id="_pzXARcAEEeic_M-KksGsuA" name="Single CSSPropertySetter" sectionFile="ui/SingleCSSPropertySetter.xwt">
       <widget href="ui/SingleCSSPropertySetter.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi0OQXX7Eeipp8d5W3Vl9g" name="Single CSSType" sectionFile="ui/SingleCSSType.xwt">
+    <sections xmi:id="_pzXnUMAEEeic_M-KksGsuA" name="Single CSSType" sectionFile="ui/SingleCSSType.xwt">
       <widget href="ui/SingleCSSType.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01QHX7Eeipp8d5W3Vl9g" name="Single CSSInstance" sectionFile="ui/SingleCSSInstance.xwt">
+    <sections xmi:id="_pzXnUcAEEeic_M-KksGsuA" name="Single CSSInstance" sectionFile="ui/SingleCSSInstance.xwt">
       <widget href="ui/SingleCSSInstance.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01QXX7Eeipp8d5W3Vl9g" name="Single CSSHidePropertySetter" sectionFile="ui/SingleCSSHidePropertySetter.xwt">
+    <sections xmi:id="_pzXnUsAEEeic_M-KksGsuA" name="Single CSSHidePropertySetter" sectionFile="ui/SingleCSSHidePropertySetter.xwt">
       <widget href="ui/SingleCSSHidePropertySetter.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01QnX7Eeipp8d5W3Vl9g" name="Single CSSHideType" sectionFile="ui/SingleCSSHideType.xwt">
+    <sections xmi:id="_pzXnU8AEEeic_M-KksGsuA" name="Single CSSHideType" sectionFile="ui/SingleCSSHideType.xwt">
       <widget href="ui/SingleCSSHideType.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01Q3X7Eeipp8d5W3Vl9g" name="Single CSSHideInstance" sectionFile="ui/SingleCSSHideInstance.xwt">
+    <sections xmi:id="_pzXnVMAEEeic_M-KksGsuA" name="Single CSSHideInstance" sectionFile="ui/SingleCSSHideInstance.xwt">
       <widget href="ui/SingleCSSHideInstance.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01RHX7Eeipp8d5W3Vl9g" name="Multiple LayerNamedStyle" sectionFile="ui/MultipleLayerNamedStyle.xwt">
+    <sections xmi:id="_pzXnVcAEEeic_M-KksGsuA" name="Multiple LayerNamedStyle" sectionFile="ui/MultipleLayerNamedStyle.xwt">
       <widget href="ui/MultipleLayerNamedStyle.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01RXX7Eeipp8d5W3Vl9g" name="Multiple LayersStack" sectionFile="ui/MultipleLayersStack.xwt">
+    <sections xmi:id="_pzXnVsAEEeic_M-KksGsuA" name="Multiple LayersStack" sectionFile="ui/MultipleLayersStack.xwt">
       <widget href="ui/MultipleLayersStack.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01RnX7Eeipp8d5W3Vl9g" name="Multiple LayerExpression" sectionFile="ui/MultipleLayerExpression.xwt">
+    <sections xmi:id="_pzXnV8AEEeic_M-KksGsuA" name="Multiple LayerExpression" sectionFile="ui/MultipleLayerExpression.xwt">
       <widget href="ui/MultipleLayerExpression.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01R3X7Eeipp8d5W3Vl9g" name="Multiple ApplicationDependantElement" sectionFile="ui/MultipleApplicationDependantElement.xwt">
+    <sections xmi:id="_pzYOYMAEEeic_M-KksGsuA" name="Multiple ApplicationDependantElement" sectionFile="ui/MultipleApplicationDependantElement.xwt">
       <widget href="ui/MultipleApplicationDependantElement.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01SHX7Eeipp8d5W3Vl9g" name="Multiple LayersStackApplication" sectionFile="ui/MultipleLayersStackApplication.xwt">
+    <sections xmi:id="_pzYOYcAEEeic_M-KksGsuA" name="Multiple LayersStackApplication" sectionFile="ui/MultipleLayersStackApplication.xwt">
       <widget href="ui/MultipleLayersStackApplication.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01SXX7Eeipp8d5W3Vl9g" name="Multiple FolderElement" sectionFile="ui/MultipleFolderElement.xwt">
+    <sections xmi:id="_pzYOYsAEEeic_M-KksGsuA" name="Multiple FolderElement" sectionFile="ui/MultipleFolderElement.xwt">
       <widget href="ui/MultipleFolderElement.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01SnX7Eeipp8d5W3Vl9g" name="Multiple LayerStackDescriptorRegistry" sectionFile="ui/MultipleLayerStackDescriptorRegistry.xwt">
+    <sections xmi:id="_pzYOY8AEEeic_M-KksGsuA" name="Multiple LayerStackDescriptorRegistry" sectionFile="ui/MultipleLayerStackDescriptorRegistry.xwt">
       <widget href="ui/MultipleLayerStackDescriptorRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01S3X7Eeipp8d5W3Vl9g" name="Multiple PropertyRegistry" sectionFile="ui/MultiplePropertyRegistry.xwt">
+    <sections xmi:id="_pzYOZMAEEeic_M-KksGsuA" name="Multiple PropertyRegistry" sectionFile="ui/MultiplePropertyRegistry.xwt">
       <widget href="ui/MultiplePropertyRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01THX7Eeipp8d5W3Vl9g" name="Multiple Property" sectionFile="ui/MultipleProperty.xwt">
+    <sections xmi:id="_pzYOZcAEEeic_M-KksGsuA" name="Multiple Property" sectionFile="ui/MultipleProperty.xwt">
       <widget href="ui/MultipleProperty.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01TXX7Eeipp8d5W3Vl9g" name="Multiple Type" sectionFile="ui/MultipleType.xwt">
+    <sections xmi:id="_pzYOZsAEEeic_M-KksGsuA" name="Multiple Type" sectionFile="ui/MultipleType.xwt">
       <widget href="ui/MultipleType.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01TnX7Eeipp8d5W3Vl9g" name="Multiple Metamodel" sectionFile="ui/MultipleMetamodel.xwt">
-      <widget href="ui/MultipleMetamodel.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi01T3X7Eeipp8d5W3Vl9g" name="Multiple TypeInstance" sectionFile="ui/MultipleTypeInstance.xwt">
+    <sections xmi:id="_pzYOZ8AEEeic_M-KksGsuA" name="Multiple TypeInstance" sectionFile="ui/MultipleTypeInstance.xwt">
       <widget href="ui/MultipleTypeInstance.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi01UHX7Eeipp8d5W3Vl9g" name="Multiple ComputePropertyValueCommandItf" sectionFile="ui/MultipleComputePropertyValueCommandItf.xwt">
+    <sections xmi:id="_pzYOaMAEEeic_M-KksGsuA" name="Multiple ComputePropertyValueCommandItf" sectionFile="ui/MultipleComputePropertyValueCommandItf.xwt">
       <widget href="ui/MultipleComputePropertyValueCommandItf.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cUHX7Eeipp8d5W3Vl9g" name="Multiple TypeRegistry" sectionFile="ui/MultipleTypeRegistry.xwt">
+    <sections xmi:id="_pzYOacAEEeic_M-KksGsuA" name="Multiple TypeRegistry" sectionFile="ui/MultipleTypeRegistry.xwt">
       <widget href="ui/MultipleTypeRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cUXX7Eeipp8d5W3Vl9g" name="Multiple StringToTypeMap" sectionFile="ui/MultipleStringToTypeMap.xwt">
+    <sections xmi:id="_pzYOasAEEeic_M-KksGsuA" name="Multiple StringToTypeMap" sectionFile="ui/MultipleStringToTypeMap.xwt">
       <widget href="ui/MultipleStringToTypeMap.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cUnX7Eeipp8d5W3Vl9g" name="Multiple LayerDescriptorRegistry" sectionFile="ui/MultipleLayerDescriptorRegistry.xwt">
+    <sections xmi:id="_pzY1cMAEEeic_M-KksGsuA" name="Multiple LayerDescriptorRegistry" sectionFile="ui/MultipleLayerDescriptorRegistry.xwt">
       <widget href="ui/MultipleLayerDescriptorRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cU3X7Eeipp8d5W3Vl9g" name="Multiple LayerDescriptor" sectionFile="ui/MultipleLayerDescriptor.xwt">
+    <sections xmi:id="_pzY1ccAEEeic_M-KksGsuA" name="Multiple LayerDescriptor" sectionFile="ui/MultipleLayerDescriptor.xwt">
       <widget href="ui/MultipleLayerDescriptor.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cVHX7Eeipp8d5W3Vl9g" name="Multiple LayerApplicationFactory" sectionFile="ui/MultipleLayerApplicationFactory.xwt">
+    <sections xmi:id="_pzY1csAEEeic_M-KksGsuA" name="Multiple LayerApplicationFactory" sectionFile="ui/MultipleLayerApplicationFactory.xwt">
       <widget href="ui/MultipleLayerApplicationFactory.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cVXX7Eeipp8d5W3Vl9g" name="Multiple PropertySetterRegistry" sectionFile="ui/MultiplePropertySetterRegistry.xwt">
+    <sections xmi:id="_pzY1c8AEEeic_M-KksGsuA" name="Multiple PropertySetterRegistry" sectionFile="ui/MultiplePropertySetterRegistry.xwt">
       <widget href="ui/MultiplePropertySetterRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cVnX7Eeipp8d5W3Vl9g" name="Multiple PropertySetter" sectionFile="ui/MultiplePropertySetter.xwt">
+    <sections xmi:id="_pzY1dMAEEeic_M-KksGsuA" name="Multiple PropertySetter" sectionFile="ui/MultiplePropertySetter.xwt">
       <widget href="ui/MultiplePropertySetter.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cV3X7Eeipp8d5W3Vl9g" name="Multiple StringToPropertySetter" sectionFile="ui/MultipleStringToPropertySetter.xwt">
+    <sections xmi:id="_pzY1dcAEEeic_M-KksGsuA" name="Multiple StringToPropertySetter" sectionFile="ui/MultipleStringToPropertySetter.xwt">
       <widget href="ui/MultipleStringToPropertySetter.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cWHX7Eeipp8d5W3Vl9g" name="Multiple LayerOperatorDescriptorRegistry" sectionFile="ui/MultipleLayerOperatorDescriptorRegistry.xwt">
+    <sections xmi:id="_pzY1dsAEEeic_M-KksGsuA" name="Multiple LayerOperatorDescriptorRegistry" sectionFile="ui/MultipleLayerOperatorDescriptorRegistry.xwt">
       <widget href="ui/MultipleLayerOperatorDescriptorRegistry.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cWXX7Eeipp8d5W3Vl9g" name="Multiple LayerOperatorDescriptor" sectionFile="ui/MultipleLayerOperatorDescriptor.xwt">
+    <sections xmi:id="_pzY1d8AEEeic_M-KksGsuA" name="Multiple LayerOperatorDescriptor" sectionFile="ui/MultipleLayerOperatorDescriptor.xwt">
       <widget href="ui/MultipleLayerOperatorDescriptor.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cWnX7Eeipp8d5W3Vl9g" name="Multiple PropertyOperator" sectionFile="ui/MultiplePropertyOperator.xwt">
+    <sections xmi:id="_pzY1eMAEEeic_M-KksGsuA" name="Multiple PropertyOperator" sectionFile="ui/MultiplePropertyOperator.xwt">
       <widget href="ui/MultiplePropertyOperator.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cW3X7Eeipp8d5W3Vl9g" name="Multiple AbstractLayerOperator" sectionFile="ui/MultipleAbstractLayerOperator.xwt">
-      <widget href="ui/MultipleAbstractLayerOperator.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi1cXHX7Eeipp8d5W3Vl9g" name="Multiple LayerOperator" sectionFile="ui/MultipleLayerOperator.xwt">
+    <sections xmi:id="_pzZcgMAEEeic_M-KksGsuA" name="Multiple LayerOperator" sectionFile="ui/MultipleLayerOperator.xwt">
       <widget href="ui/MultipleLayerOperator.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cXXX7Eeipp8d5W3Vl9g" name="Multiple LayersContainer" sectionFile="ui/MultipleLayersContainer.xwt">
+    <sections xmi:id="_pzZcgcAEEeic_M-KksGsuA" name="Multiple LayersContainer" sectionFile="ui/MultipleLayersContainer.xwt">
       <widget href="ui/MultipleLayersContainer.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi1cXnX7Eeipp8d5W3Vl9g" name="Multiple DefaultPropertyOperator" sectionFile="ui/MultipleDefaultPropertyOperator.xwt">
-      <widget href="ui/MultipleDefaultPropertyOperator.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi2DYHX7Eeipp8d5W3Vl9g" name="Multiple AbstractLayer" sectionFile="ui/MultipleAbstractLayer.xwt">
+    <sections xmi:id="_pzZcgsAEEeic_M-KksGsuA" name="Multiple AbstractLayer" sectionFile="ui/MultipleAbstractLayer.xwt">
       <widget href="ui/MultipleAbstractLayer.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi2DYXX7Eeipp8d5W3Vl9g" name="Multiple StringToTypeInstanceMap" sectionFile="ui/MultipleStringToTypeInstanceMap.xwt">
+    <sections xmi:id="_pzZcg8AEEeic_M-KksGsuA" name="Multiple StringToTypeInstanceMap" sectionFile="ui/MultipleStringToTypeInstanceMap.xwt">
       <widget href="ui/MultipleStringToTypeInstanceMap.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi2DYnX7Eeipp8d5W3Vl9g" name="Multiple Folder" sectionFile="ui/MultipleFolder.xwt">
+    <sections xmi:id="_pzZchMAEEeic_M-KksGsuA" name="Multiple Folder" sectionFile="ui/MultipleFolder.xwt">
       <widget href="ui/MultipleFolder.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi2DY3X7Eeipp8d5W3Vl9g" name="Multiple IntInstance" sectionFile="ui/MultipleIntInstance.xwt">
-      <widget href="ui/MultipleIntInstance.xwt#/"/>
+    <sections xmi:id="_pzZchcAEEeic_M-KksGsuA" name="Multiple Metamodel" sectionFile="ui/MultipleMetamodel.xwt">
+      <widget href="ui/MultipleMetamodel.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi2DZHX7Eeipp8d5W3Vl9g" name="Multiple BooleanInstance" sectionFile="ui/MultipleBooleanInstance.xwt">
-      <widget href="ui/MultipleBooleanInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi2DZXX7Eeipp8d5W3Vl9g" name="Multiple StringInstance" sectionFile="ui/MultipleStringInstance.xwt">
-      <widget href="ui/MultipleStringInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi2DZnX7Eeipp8d5W3Vl9g" name="Multiple IntType" sectionFile="ui/MultipleIntType.xwt">
-      <widget href="ui/MultipleIntType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi2DZ3X7Eeipp8d5W3Vl9g" name="Multiple BooleanType" sectionFile="ui/MultipleBooleanType.xwt">
-      <widget href="ui/MultipleBooleanType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi2DaHX7Eeipp8d5W3Vl9g" name="Multiple StringType" sectionFile="ui/MultipleStringType.xwt">
-      <widget href="ui/MultipleStringType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi2DaXX7Eeipp8d5W3Vl9g" name="Multiple CustomType" sectionFile="ui/MultipleCustomType.xwt">
-      <widget href="ui/MultipleCustomType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi2DanX7Eeipp8d5W3Vl9g" name="Multiple TopLayerOperator" sectionFile="ui/MultipleTopLayerOperator.xwt">
+    <sections xmi:id="_pzZchsAEEeic_M-KksGsuA" name="Multiple TopLayerOperator" sectionFile="ui/MultipleTopLayerOperator.xwt">
       <widget href="ui/MultipleTopLayerOperator.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi2Da3X7Eeipp8d5W3Vl9g" name="Multiple StackedLayerOperator" sectionFile="ui/MultipleStackedLayerOperator.xwt">
+    <sections xmi:id="_pzaDkMAEEeic_M-KksGsuA" name="Multiple StackedLayerOperator" sectionFile="ui/MultipleStackedLayerOperator.xwt">
       <widget href="ui/MultipleStackedLayerOperator.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi2DbHX7Eeipp8d5W3Vl9g" name="Multiple CustomLayerOperator" sectionFile="ui/MultipleCustomLayerOperator.xwt">
-      <widget href="ui/MultipleCustomLayerOperator.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi2DbXX7Eeipp8d5W3Vl9g" name="Multiple PropertyIndex" sectionFile="ui/MultiplePropertyIndex.xwt">
+    <sections xmi:id="_pzaDkcAEEeic_M-KksGsuA" name="Multiple PropertyIndex" sectionFile="ui/MultiplePropertyIndex.xwt">
       <widget href="ui/MultiplePropertyIndex.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi2qcHX7Eeipp8d5W3Vl9g" name="Multiple StringToPropertyIndexMap" sectionFile="ui/MultipleStringToPropertyIndexMap.xwt">
+    <sections xmi:id="_pzaDksAEEeic_M-KksGsuA" name="Multiple StringToPropertyIndexMap" sectionFile="ui/MultipleStringToPropertyIndexMap.xwt">
       <widget href="ui/MultipleStringToPropertyIndexMap.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi2qcXX7Eeipp8d5W3Vl9g" name="Multiple SimpleLayerDescriptor" sectionFile="ui/MultipleSimpleLayerDescriptor.xwt">
+    <sections xmi:id="_pzaDk8AEEeic_M-KksGsuA" name="Multiple SimpleLayerDescriptor" sectionFile="ui/MultipleSimpleLayerDescriptor.xwt">
       <widget href="ui/MultipleSimpleLayerDescriptor.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi2qcnX7Eeipp8d5W3Vl9g" name="Multiple RegExpLayerDescriptor" sectionFile="ui/MultipleRegExpLayerDescriptor.xwt">
-      <widget href="ui/MultipleRegExpLayerDescriptor.xwt#/"/>
-    </sections>
-    <sections xmi:id="_Zi2qc3X7Eeipp8d5W3Vl9g" name="Multiple NullInstance" sectionFile="ui/MultipleNullInstance.xwt">
+    <sections xmi:id="_pzaDlMAEEeic_M-KksGsuA" name="Multiple NullInstance" sectionFile="ui/MultipleNullInstance.xwt">
       <widget href="ui/MultipleNullInstance.xwt#/"/>
     </sections>
-    <sections xmi:id="_Zi2qdHX7Eeipp8d5W3Vl9g" name="Multiple RegExpLayer" sectionFile="ui/MultipleRegExpLayer.xwt">
-      <widget href="ui/MultipleRegExpLayer.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQoHX7Eeipp8d5W3Vl9g" name="Multiple Layer" sectionFile="ui/MultipleLayer.xwt">
+    <sections xmi:id="_pzaDlcAEEeic_M-KksGsuA" name="Multiple Layer" sectionFile="ui/MultipleLayer.xwt">
       <widget href="ui/MultipleLayer.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZjCQoXX7Eeipp8d5W3Vl9g" name="Multiple Color" sectionFile="ui/MultipleColor.xwt">
-      <widget href="ui/MultipleColor.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQonX7Eeipp8d5W3Vl9g" name="Multiple ColorInstance" sectionFile="ui/MultipleColorInstance.xwt">
-      <widget href="ui/MultipleColorInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQo3X7Eeipp8d5W3Vl9g" name="Multiple FillInstance" sectionFile="ui/MultipleFillInstance.xwt">
-      <widget href="ui/MultipleFillInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQpHX7Eeipp8d5W3Vl9g" name="Multiple Fill" sectionFile="ui/MultipleFill.xwt">
-      <widget href="ui/MultipleFill.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQpXX7Eeipp8d5W3Vl9g" name="Multiple FillPropertySetter" sectionFile="ui/MultipleFillPropertySetter.xwt">
-      <widget href="ui/MultipleFillPropertySetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQpnX7Eeipp8d5W3Vl9g" name="Multiple IsValidPropertySetter" sectionFile="ui/MultipleIsValidPropertySetter.xwt">
-      <widget href="ui/MultipleIsValidPropertySetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQp3X7Eeipp8d5W3Vl9g" name="Multiple NullPropertySetter" sectionFile="ui/MultipleNullPropertySetter.xwt">
+    <sections xmi:id="_pzaDlsAEEeic_M-KksGsuA" name="Multiple NullPropertySetter" sectionFile="ui/MultipleNullPropertySetter.xwt">
       <widget href="ui/MultipleNullPropertySetter.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZjCQqHX7Eeipp8d5W3Vl9g" name="Multiple LineType" sectionFile="ui/MultipleLineType.xwt">
-      <widget href="ui/MultipleLineType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQqXX7Eeipp8d5W3Vl9g" name="Multiple LineInstance" sectionFile="ui/MultipleLineInstance.xwt">
-      <widget href="ui/MultipleLineInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQqnX7Eeipp8d5W3Vl9g" name="Multiple LinePropertySetter" sectionFile="ui/MultipleLinePropertySetter.xwt">
-      <widget href="ui/MultipleLinePropertySetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQq3X7Eeipp8d5W3Vl9g" name="Multiple FontPropertySetter" sectionFile="ui/MultipleFontPropertySetter.xwt">
-      <widget href="ui/MultipleFontPropertySetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQrHX7Eeipp8d5W3Vl9g" name="Multiple FontInstance" sectionFile="ui/MultipleFontInstance.xwt">
-      <widget href="ui/MultipleFontInstance.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQrXX7Eeipp8d5W3Vl9g" name="Multiple FontType" sectionFile="ui/MultipleFontType.xwt">
-      <widget href="ui/MultipleFontType.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjCQrnX7Eeipp8d5W3Vl9g" name="Multiple IsVisiblePropertySetter" sectionFile="ui/MultipleIsVisiblePropertySetter.xwt">
-      <widget href="ui/MultipleIsVisiblePropertySetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjC3sHX7Eeipp8d5W3Vl9g" name="Multiple TopLayerOperatorDescriptor" sectionFile="ui/MultipleTopLayerOperatorDescriptor.xwt">
+    <sections xmi:id="_pzaDl8AEEeic_M-KksGsuA" name="Multiple TopLayerOperatorDescriptor" sectionFile="ui/MultipleTopLayerOperatorDescriptor.xwt">
       <widget href="ui/MultipleTopLayerOperatorDescriptor.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZjC3sXX7Eeipp8d5W3Vl9g" name="Multiple StackedLayerOperatorDescriptor" sectionFile="ui/MultipleStackedLayerOperatorDescriptor.xwt">
+    <sections xmi:id="_pzaDmMAEEeic_M-KksGsuA" name="Multiple StackedLayerOperatorDescriptor" sectionFile="ui/MultipleStackedLayerOperatorDescriptor.xwt">
       <widget href="ui/MultipleStackedLayerOperatorDescriptor.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZjC3snX7Eeipp8d5W3Vl9g" name="Multiple CustomPropertyOperator" sectionFile="ui/MultipleCustomPropertyOperator.xwt">
-      <widget href="ui/MultipleCustomPropertyOperator.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjC3s3X7Eeipp8d5W3Vl9g" name="Multiple AndStackedLayerOperatorDescriptor" sectionFile="ui/MultipleAndStackedLayerOperatorDescriptor.xwt">
-      <widget href="ui/MultipleAndStackedLayerOperatorDescriptor.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjC3tHX7Eeipp8d5W3Vl9g" name="Multiple OrStackedLayerOperatorDescriptor" sectionFile="ui/MultipleOrStackedLayerOperatorDescriptor.xwt">
-      <widget href="ui/MultipleOrStackedLayerOperatorDescriptor.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjC3tXX7Eeipp8d5W3Vl9g" name="Multiple IsAbstractUmlSetter" sectionFile="ui/MultipleIsAbstractUmlSetter.xwt">
-      <widget href="ui/MultipleIsAbstractUmlSetter.xwt#/"/>
-    </sections>
-    <sections xmi:id="_ZjC3tnX7Eeipp8d5W3Vl9g" name="Multiple AllViewsDerivedLayer" sectionFile="ui/MultipleAllViewsDerivedLayer.xwt">
+    <sections xmi:id="_pzaqoMAEEeic_M-KksGsuA" name="Multiple AllViewsDerivedLayer" sectionFile="ui/MultipleAllViewsDerivedLayer.xwt">
       <widget href="ui/MultipleAllViewsDerivedLayer.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZjC3t3X7Eeipp8d5W3Vl9g" name="Multiple CSSPropertySetter" sectionFile="ui/MultipleCSSPropertySetter.xwt">
+    <sections xmi:id="_pzaqocAEEeic_M-KksGsuA" name="Multiple CSSPropertySetter" sectionFile="ui/MultipleCSSPropertySetter.xwt">
       <widget href="ui/MultipleCSSPropertySetter.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZjC3uHX7Eeipp8d5W3Vl9g" name="Multiple CSSType" sectionFile="ui/MultipleCSSType.xwt">
+    <sections xmi:id="_pzaqosAEEeic_M-KksGsuA" name="Multiple CSSType" sectionFile="ui/MultipleCSSType.xwt">
       <widget href="ui/MultipleCSSType.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZjC3uXX7Eeipp8d5W3Vl9g" name="Multiple CSSInstance" sectionFile="ui/MultipleCSSInstance.xwt">
+    <sections xmi:id="_pzaqo8AEEeic_M-KksGsuA" name="Multiple CSSInstance" sectionFile="ui/MultipleCSSInstance.xwt">
       <widget href="ui/MultipleCSSInstance.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZjC3unX7Eeipp8d5W3Vl9g" name="Multiple CSSHidePropertySetter" sectionFile="ui/MultipleCSSHidePropertySetter.xwt">
+    <sections xmi:id="_pzaqpMAEEeic_M-KksGsuA" name="Multiple CSSHidePropertySetter" sectionFile="ui/MultipleCSSHidePropertySetter.xwt">
       <widget href="ui/MultipleCSSHidePropertySetter.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZjC3u3X7Eeipp8d5W3Vl9g" name="Multiple CSSHideType" sectionFile="ui/MultipleCSSHideType.xwt">
+    <sections xmi:id="_pzaqpcAEEeic_M-KksGsuA" name="Multiple CSSHideType" sectionFile="ui/MultipleCSSHideType.xwt">
       <widget href="ui/MultipleCSSHideType.xwt#/"/>
     </sections>
-    <sections xmi:id="_ZjC3vHX7Eeipp8d5W3Vl9g" name="Multiple CSSHideInstance" sectionFile="ui/MultipleCSSHideInstance.xwt">
+    <sections xmi:id="_pzaqpsAEEeic_M-KksGsuA" name="Multiple CSSHideInstance" sectionFile="ui/MultipleCSSHideInstance.xwt">
       <widget href="ui/MultipleCSSHideInstance.xwt#/"/>
     </sections>
   </tabs>
-  <views xmi:id="_umc1gXX6Eeipp8d5W3Vl9g" name="Single LayerNamedStyle" sections="_Zixx8XX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc32nX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1gnX6Eeipp8d5W3Vl9g" name="isSingleLayerNamedStyle">
+  <views xmi:id="_PEETIcAEEeic_M-KksGsuA" name="Single LayerNamedStyle" sections="_pzN2UMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7icAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEETIsAEEeic_M-KksGsuA" name="isSingleLayerNamedStyle">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1g3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1hHX6Eeipp8d5W3Vl9g" name="className" value="LayerNamedStyle"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETI8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETJMAEEeic_M-KksGsuA" name="className" value="LayerNamedStyle"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1hXX6Eeipp8d5W3Vl9g" name="Single LayersStack" sections="_Zixx8nX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc33HX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1hnX6Eeipp8d5W3Vl9g" name="isSingleLayersStack">
+  <views xmi:id="_PEETJcAEEeic_M-KksGsuA" name="Single LayersStack" sections="_pzRgsMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7i8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEETJsAEEeic_M-KksGsuA" name="isSingleLayersStack">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1h3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1iHX6Eeipp8d5W3Vl9g" name="className" value="LayersStack"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETJ8AEEeic_M-KksGsuA" name="className" value="LayersStack"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETKMAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1iXX6Eeipp8d5W3Vl9g" name="Single LayerExpression" sections="_Zixx83X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc34nX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1inX6Eeipp8d5W3Vl9g" name="isSingleLayerExpression">
+  <views xmi:id="_PEETKcAEEeic_M-KksGsuA" name="Single LayerExpression" sections="_pzRgscAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7kcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEETKsAEEeic_M-KksGsuA" name="isSingleLayerExpression">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1i3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1jHX6Eeipp8d5W3Vl9g" name="className" value="LayerExpression"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETK8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETLMAEEeic_M-KksGsuA" name="className" value="LayerExpression"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1jXX6Eeipp8d5W3Vl9g" name="Single ApplicationDependantElement" sections="_ZiyZAHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc36nX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1jnX6Eeipp8d5W3Vl9g" name="isSingleApplicationDependantElement">
+  <views xmi:id="_PEETLcAEEeic_M-KksGsuA" name="Single ApplicationDependantElement" sections="_pzSHwMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7mcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEETLsAEEeic_M-KksGsuA" name="isSingleApplicationDependantElement">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1j3X6Eeipp8d5W3Vl9g" name="className" value="ApplicationDependantElement"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1kHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETL8AEEeic_M-KksGsuA" name="className" value="ApplicationDependantElement"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETMMAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1kXX6Eeipp8d5W3Vl9g" name="Single LayersStackApplication" sections="_ZiyZAXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc37HX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1knX6Eeipp8d5W3Vl9g" name="isSingleLayersStackApplication">
+  <views xmi:id="_PEETMcAEEeic_M-KksGsuA" name="Single LayersStackApplication" sections="_pzSHwcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7m8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEETMsAEEeic_M-KksGsuA" name="isSingleLayersStackApplication">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1k3X6Eeipp8d5W3Vl9g" name="className" value="LayersStackApplication"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1lHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETM8AEEeic_M-KksGsuA" name="className" value="LayersStackApplication"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETNMAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1lXX6Eeipp8d5W3Vl9g" name="Single FolderElement" sections="_ZiyZAnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc39HX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1lnX6Eeipp8d5W3Vl9g" name="isSingleFolderElement">
+  <views xmi:id="_PEETNcAEEeic_M-KksGsuA" name="Single FolderElement" sections="_pzSu0MAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7o8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEETNsAEEeic_M-KksGsuA" name="isSingleFolderElement">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1l3X6Eeipp8d5W3Vl9g" name="className" value="FolderElement"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1mHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETN8AEEeic_M-KksGsuA" name="className" value="FolderElement"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEETOMAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1mXX6Eeipp8d5W3Vl9g" name="Single LayerStackDescriptorRegistry" sections="_ZiyZA3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc39XX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1mnX6Eeipp8d5W3Vl9g" name="isSingleLayerStackDescriptorRegistry">
+  <views xmi:id="_PEE6MMAEEeic_M-KksGsuA" name="Single LayerStackDescriptorRegistry" sections="_pzSu0cAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7pMAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6McAEEeic_M-KksGsuA" name="isSingleLayerStackDescriptorRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1m3X6Eeipp8d5W3Vl9g" name="className" value="LayerStackDescriptorRegistry"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1nHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6MsAEEeic_M-KksGsuA" name="className" value="LayerStackDescriptorRegistry"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6M8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1nXX6Eeipp8d5W3Vl9g" name="Single PropertyRegistry" sections="_ZiyZBHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc39nX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1nnX6Eeipp8d5W3Vl9g" name="isSinglePropertyRegistry">
+  <views xmi:id="_PEE6NMAEEeic_M-KksGsuA" name="Single PropertyRegistry" sections="_pzTV4MAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7pcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6NcAEEeic_M-KksGsuA" name="isSinglePropertyRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1n3X6Eeipp8d5W3Vl9g" name="className" value="PropertyRegistry"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1oHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6NsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6N8AEEeic_M-KksGsuA" name="className" value="PropertyRegistry"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1oXX6Eeipp8d5W3Vl9g" name="Single Property" sections="_ZiyZBXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc3-nX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1onX6Eeipp8d5W3Vl9g" name="isSingleProperty">
+  <views xmi:id="_PEE6OMAEEeic_M-KksGsuA" name="Single Property" sections="_pzTV4cAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7qcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6OcAEEeic_M-KksGsuA" name="isSingleProperty">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1o3X6Eeipp8d5W3Vl9g" name="className" value="Property"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1pHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6OsAEEeic_M-KksGsuA" name="className" value="Property"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6O8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1pXX6Eeipp8d5W3Vl9g" name="Single Type" sections="_ZiyZBnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4AHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1pnX6Eeipp8d5W3Vl9g" name="isSingleType">
+  <views xmi:id="_PEE6PMAEEeic_M-KksGsuA" name="Single Type" sections="_pzTV4sAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7r8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6PcAEEeic_M-KksGsuA" name="isSingleType">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1p3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1qHX6Eeipp8d5W3Vl9g" name="className" value="Type"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6PsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6P8AEEeic_M-KksGsuA" name="className" value="Type"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1qXX6Eeipp8d5W3Vl9g" name="Single Metamodel" sections="_ZiyZB3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4BHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1qnX6Eeipp8d5W3Vl9g" name="isSingleMetamodel">
+  <views xmi:id="_PEE6QMAEEeic_M-KksGsuA" name="Single TypeInstance" sections="_pzTV48AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7ssAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6QcAEEeic_M-KksGsuA" name="isSingleTypeInstance">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1q3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1rHX6Eeipp8d5W3Vl9g" name="className" value="Metamodel"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6QsAEEeic_M-KksGsuA" name="className" value="TypeInstance"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6Q8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1rXX6Eeipp8d5W3Vl9g" name="Single TypeInstance" sections="_ZiyZCHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4C3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1rnX6Eeipp8d5W3Vl9g" name="isSingleTypeInstance">
+  <views xmi:id="_PEE6RMAEEeic_M-KksGsuA" name="Single ComputePropertyValueCommandItf" sections="_pzTV5MAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7s8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6RcAEEeic_M-KksGsuA" name="isSingleComputePropertyValueCommandItf">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1r3X6Eeipp8d5W3Vl9g" name="className" value="TypeInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1sHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6RsAEEeic_M-KksGsuA" name="className" value="ComputePropertyValueCommandItf"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6R8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1sXX6Eeipp8d5W3Vl9g" name="Single ComputePropertyValueCommandItf" sections="_ZiyZCXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4DHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1snX6Eeipp8d5W3Vl9g" name="isSingleComputePropertyValueCommandItf">
+  <views xmi:id="_PEE6SMAEEeic_M-KksGsuA" name="Single TypeRegistry" sections="_pzT88MAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7tMAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6ScAEEeic_M-KksGsuA" name="isSingleTypeRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1s3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1tHX6Eeipp8d5W3Vl9g" name="className" value="ComputePropertyValueCommandItf"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6SsAEEeic_M-KksGsuA" name="className" value="TypeRegistry"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6S8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1tXX6Eeipp8d5W3Vl9g" name="Single TypeRegistry" sections="_ZiyZCnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4DXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1tnX6Eeipp8d5W3Vl9g" name="isSingleTypeRegistry">
+  <views xmi:id="_PEE6TMAEEeic_M-KksGsuA" name="Single StringToTypeMap" sections="_pzT88cAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7tsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6TcAEEeic_M-KksGsuA" name="isSingleStringToTypeMap">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1t3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1uHX6Eeipp8d5W3Vl9g" name="className" value="TypeRegistry"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6TsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6T8AEEeic_M-KksGsuA" name="className" value="StringToTypeMap"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1uXX6Eeipp8d5W3Vl9g" name="Single StringToTypeMap" sections="_ZiyZC3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4D3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1unX6Eeipp8d5W3Vl9g" name="isSingleStringToTypeMap">
+  <views xmi:id="_PEE6UMAEEeic_M-KksGsuA" name="Single LayerDescriptorRegistry" sections="_pzT88sAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7ucAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6UcAEEeic_M-KksGsuA" name="isSingleLayerDescriptorRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1u3X6Eeipp8d5W3Vl9g" name="className" value="StringToTypeMap"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1vHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6UsAEEeic_M-KksGsuA" name="className" value="LayerDescriptorRegistry"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6U8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1vXX6Eeipp8d5W3Vl9g" name="Single LayerDescriptorRegistry" sections="_ZiyZDHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4EnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1vnX6Eeipp8d5W3Vl9g" name="isSingleLayerDescriptorRegistry">
+  <views xmi:id="_PEE6VMAEEeic_M-KksGsuA" name="Single LayerDescriptor" sections="_pzT888AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7u8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6VcAEEeic_M-KksGsuA" name="isSingleLayerDescriptor">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1v3X6Eeipp8d5W3Vl9g" name="className" value="LayerDescriptorRegistry"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1wHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6VsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6V8AEEeic_M-KksGsuA" name="className" value="LayerDescriptor"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1wXX6Eeipp8d5W3Vl9g" name="Single LayerDescriptor" sections="_ZiyZDXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4FHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1wnX6Eeipp8d5W3Vl9g" name="isSingleLayerDescriptor">
+  <views xmi:id="_PEE6WMAEEeic_M-KksGsuA" name="Single LayerApplicationFactory" sections="_pzT89MAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7vcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6WcAEEeic_M-KksGsuA" name="isSingleLayerApplicationFactory">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1w3X6Eeipp8d5W3Vl9g" name="className" value="LayerDescriptor"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1xHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6WsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6W8AEEeic_M-KksGsuA" name="className" value="LayerApplicationFactory"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1xXX6Eeipp8d5W3Vl9g" name="Single LayerApplicationFactory" sections="_ZiyZDnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4FnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1xnX6Eeipp8d5W3Vl9g" name="isSingleLayerApplicationFactory">
+  <views xmi:id="_PEE6XMAEEeic_M-KksGsuA" name="Single PropertySetterRegistry" sections="_pzUkAMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7v8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6XcAEEeic_M-KksGsuA" name="isSinglePropertySetterRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1x3X6Eeipp8d5W3Vl9g" name="className" value="LayerApplicationFactory"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1yHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6XsAEEeic_M-KksGsuA" name="className" value="PropertySetterRegistry"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6X8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1yXX6Eeipp8d5W3Vl9g" name="Single PropertySetterRegistry" sections="_ZiyZD3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4GHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1ynX6Eeipp8d5W3Vl9g" name="isSinglePropertySetterRegistry">
+  <views xmi:id="_PEE6YMAEEeic_M-KksGsuA" name="Single PropertySetter" sections="_pzUkAcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7w8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6YcAEEeic_M-KksGsuA" name="isSinglePropertySetter">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1y3X6Eeipp8d5W3Vl9g" name="className" value="PropertySetterRegistry"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1zHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6YsAEEeic_M-KksGsuA" name="className" value="PropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6Y8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1zXX6Eeipp8d5W3Vl9g" name="Single PropertySetter" sections="_ZiyZEHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4HHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1znX6Eeipp8d5W3Vl9g" name="isSinglePropertySetter">
+  <views xmi:id="_PEE6ZMAEEeic_M-KksGsuA" name="Single StringToPropertySetter" sections="_pzUkAsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7xsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6ZcAEEeic_M-KksGsuA" name="isSingleStringToPropertySetter">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1z3X6Eeipp8d5W3Vl9g" name="className" value="PropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc10HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6ZsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6Z8AEEeic_M-KksGsuA" name="className" value="StringToPropertySetter"/>
     </constraints>
   </views>
-  <views xmi:id="_umc10XX6Eeipp8d5W3Vl9g" name="Single StringToPropertySetter" sections="_ZiyZEXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4H3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc10nX6Eeipp8d5W3Vl9g" name="isSingleStringToPropertySetter">
+  <views xmi:id="_PEE6aMAEEeic_M-KksGsuA" name="Single LayerOperatorDescriptorRegistry" sections="_pzUkA8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7ycAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6acAEEeic_M-KksGsuA" name="isSingleLayerOperatorDescriptorRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc103X6Eeipp8d5W3Vl9g" name="className" value="StringToPropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc11HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6asAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6a8AEEeic_M-KksGsuA" name="className" value="LayerOperatorDescriptorRegistry"/>
     </constraints>
   </views>
-  <views xmi:id="_umc11XX6Eeipp8d5W3Vl9g" name="Single LayerOperatorDescriptorRegistry" sections="_ZiyZEnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4InX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc11nX6Eeipp8d5W3Vl9g" name="isSingleLayerOperatorDescriptorRegistry">
+  <views xmi:id="_PEE6bMAEEeic_M-KksGsuA" name="Single LayerOperatorDescriptor" sections="_pzUkBMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7zsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6bcAEEeic_M-KksGsuA" name="isSingleLayerOperatorDescriptor">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc113X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc12HX6Eeipp8d5W3Vl9g" name="className" value="LayerOperatorDescriptorRegistry"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6bsAEEeic_M-KksGsuA" name="className" value="LayerOperatorDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6b8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc12XX6Eeipp8d5W3Vl9g" name="Single LayerOperatorDescriptor" sections="_ZiyZE3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4J3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc12nX6Eeipp8d5W3Vl9g" name="isSingleLayerOperatorDescriptor">
+  <views xmi:id="_PEE6cMAEEeic_M-KksGsuA" name="Single PropertyOperator" sections="_pzUkBcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE70cAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6ccAEEeic_M-KksGsuA" name="isSinglePropertyOperator">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc123X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc13HX6Eeipp8d5W3Vl9g" name="className" value="LayerOperatorDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6csAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6c8AEEeic_M-KksGsuA" name="className" value="PropertyOperator"/>
     </constraints>
   </views>
-  <views xmi:id="_umc13XX6Eeipp8d5W3Vl9g" name="Single PropertyOperator" sections="_ZizAEHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4KnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc13nX6Eeipp8d5W3Vl9g" name="isSinglePropertyOperator">
+  <views xmi:id="_PEE6dMAEEeic_M-KksGsuA" name="Single LayerOperator" sections="_pzVLEMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE71sAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6dcAEEeic_M-KksGsuA" name="isSingleLayerOperator">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc133X6Eeipp8d5W3Vl9g" name="className" value="PropertyOperator"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc14HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6dsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6d8AEEeic_M-KksGsuA" name="className" value="LayerOperator"/>
     </constraints>
   </views>
-  <views xmi:id="_umc14XX6Eeipp8d5W3Vl9g" name="Single AbstractLayerOperator" sections="_ZizAEXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4LHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc14nX6Eeipp8d5W3Vl9g" name="isSingleAbstractLayerOperator">
+  <views xmi:id="_PEE6eMAEEeic_M-KksGsuA" name="Single LayersContainer" sections="_pzVLEcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE72sAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6ecAEEeic_M-KksGsuA" name="isSingleLayersContainer">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc143X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc15HX6Eeipp8d5W3Vl9g" name="className" value="AbstractLayerOperator"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6esAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6e8AEEeic_M-KksGsuA" name="className" value="LayersContainer"/>
     </constraints>
   </views>
-  <views xmi:id="_umc15XX6Eeipp8d5W3Vl9g" name="Single LayerOperator" sections="_ZizAEnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4L3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc15nX6Eeipp8d5W3Vl9g" name="isSingleLayerOperator">
+  <views xmi:id="_PEE6fMAEEeic_M-KksGsuA" name="Single AbstractLayer" sections="_pzVLEsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE728AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6fcAEEeic_M-KksGsuA" name="isSingleAbstractLayer">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc153X6Eeipp8d5W3Vl9g" name="className" value="LayerOperator"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc16HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6fsAEEeic_M-KksGsuA" name="className" value="AbstractLayer"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6f8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc16XX6Eeipp8d5W3Vl9g" name="Single LayersContainer" sections="_ZizAE3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4MXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc16nX6Eeipp8d5W3Vl9g" name="isSingleLayersContainer">
+  <views xmi:id="_PEE6gMAEEeic_M-KksGsuA" name="Single StringToTypeInstanceMap" sections="_pzVyIMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE74cAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6gcAEEeic_M-KksGsuA" name="isSingleStringToTypeInstanceMap">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc163X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc17HX6Eeipp8d5W3Vl9g" name="className" value="LayersContainer"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6gsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6g8AEEeic_M-KksGsuA" name="className" value="StringToTypeInstanceMap"/>
     </constraints>
   </views>
-  <views xmi:id="_umc17XX6Eeipp8d5W3Vl9g" name="Single DefaultPropertyOperator" sections="_ZizAFHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4MnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc17nX6Eeipp8d5W3Vl9g" name="isSingleDefaultPropertyOperator">
+  <views xmi:id="_PEE6hMAEEeic_M-KksGsuA" name="Single Folder" sections="_pzVyIcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE75MAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6hcAEEeic_M-KksGsuA" name="isSingleFolder">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc173X6Eeipp8d5W3Vl9g" name="className" value="DefaultPropertyOperator"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc18HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6hsAEEeic_M-KksGsuA" name="className" value="Folder"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6h8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc18XX6Eeipp8d5W3Vl9g" name="Single AbstractLayer" sections="_ZizAFXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4M3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc18nX6Eeipp8d5W3Vl9g" name="isSingleAbstractLayer">
+  <views xmi:id="_PEE6iMAEEeic_M-KksGsuA" name="Single Metamodel" sections="_pzVyIsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE758AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6icAEEeic_M-KksGsuA" name="isSingleMetamodel">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc183X6Eeipp8d5W3Vl9g" name="className" value="AbstractLayer"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc19HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6isAEEeic_M-KksGsuA" name="className" value="Metamodel"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6i8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc19XX6Eeipp8d5W3Vl9g" name="Single StringToTypeInstanceMap" sections="_ZizAFnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4OXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc19nX6Eeipp8d5W3Vl9g" name="isSingleStringToTypeInstanceMap">
+  <views xmi:id="_PEE6jMAEEeic_M-KksGsuA" name="Single TopLayerOperator" sections="_pzVyI8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhRcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6jcAEEeic_M-KksGsuA" name="isSingleTopLayerOperator">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc193X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1-HX6Eeipp8d5W3Vl9g" name="className" value="StringToTypeInstanceMap"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6jsAEEeic_M-KksGsuA" name="className" value="TopLayerOperator"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6j8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1-XX6Eeipp8d5W3Vl9g" name="Single Folder" sections="_ZizAF3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4PHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1-nX6Eeipp8d5W3Vl9g" name="isSingleFolder">
+  <views xmi:id="_PEE6kMAEEeic_M-KksGsuA" name="Single StackedLayerOperator" sections="_pzWZMMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhRsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6kcAEEeic_M-KksGsuA" name="isSingleStackedLayerOperator">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1-3X6Eeipp8d5W3Vl9g" name="className" value="Folder"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1_HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6ksAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6k8AEEeic_M-KksGsuA" name="className" value="StackedLayerOperator"/>
     </constraints>
   </views>
-  <views xmi:id="_umc1_XX6Eeipp8d5W3Vl9g" name="Single IntInstance" sections="_ZizAGHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4P3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc1_nX6Eeipp8d5W3Vl9g" name="isSingleIntInstance">
+  <views xmi:id="_PEE6lMAEEeic_M-KksGsuA" name="Single PropertyIndex" sections="_pzWZMcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhR8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6lcAEEeic_M-KksGsuA" name="isSinglePropertyIndex">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc1_3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2AHX6Eeipp8d5W3Vl9g" name="className" value="IntInstance"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6lsAEEeic_M-KksGsuA" name="className" value="PropertyIndex"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6l8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2AXX6Eeipp8d5W3Vl9g" name="Single BooleanInstance" sections="_ZizAGXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4QXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2AnX6Eeipp8d5W3Vl9g" name="isSingleBooleanInstance">
+  <views xmi:id="_PEE6mMAEEeic_M-KksGsuA" name="Single StringToPropertyIndexMap" sections="_pzWZMsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhSsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6mcAEEeic_M-KksGsuA" name="isSingleStringToPropertyIndexMap">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2A3X6Eeipp8d5W3Vl9g" name="className" value="BooleanInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2BHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6msAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6m8AEEeic_M-KksGsuA" name="className" value="StringToPropertyIndexMap"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2BXX6Eeipp8d5W3Vl9g" name="Single StringInstance" sections="_ZizAGnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4Q3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2BnX6Eeipp8d5W3Vl9g" name="isSingleStringInstance">
+  <views xmi:id="_PEE6nMAEEeic_M-KksGsuA" name="Single SimpleLayerDescriptor" sections="_pzWZM8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhTcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6ncAEEeic_M-KksGsuA" name="isSingleSimpleLayerDescriptor">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2B3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2CHX6Eeipp8d5W3Vl9g" name="className" value="StringInstance"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6nsAEEeic_M-KksGsuA" name="className" value="SimpleLayerDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6n8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2CXX6Eeipp8d5W3Vl9g" name="Single IntType" sections="_ZizAG3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4RXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2CnX6Eeipp8d5W3Vl9g" name="isSingleIntType">
+  <views xmi:id="_PEE6oMAEEeic_M-KksGsuA" name="Single NullInstance" sections="_pzWZNMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhTsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6ocAEEeic_M-KksGsuA" name="isSingleNullInstance">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2C3X6Eeipp8d5W3Vl9g" name="className" value="IntType"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2DHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6osAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6o8AEEeic_M-KksGsuA" name="className" value="NullInstance"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2DXX6Eeipp8d5W3Vl9g" name="Single BooleanType" sections="_ZizAHHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4RnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2DnX6Eeipp8d5W3Vl9g" name="isSingleBooleanType">
+  <views xmi:id="_PEE6pMAEEeic_M-KksGsuA" name="Single Layer" sections="_pzXAQMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhT8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6pcAEEeic_M-KksGsuA" name="isSingleLayer">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2D3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2EHX6Eeipp8d5W3Vl9g" name="className" value="BooleanType"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6psAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6p8AEEeic_M-KksGsuA" name="className" value="Layer"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2EXX6Eeipp8d5W3Vl9g" name="Single StringType" sections="_ZizAHXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4R3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2EnX6Eeipp8d5W3Vl9g" name="isSingleStringType">
+  <views xmi:id="_PEE6qMAEEeic_M-KksGsuA" name="Single NullPropertySetter" sections="_pzXAQcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhUMAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6qcAEEeic_M-KksGsuA" name="isSingleNullPropertySetter">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2E3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2FHX6Eeipp8d5W3Vl9g" name="className" value="StringType"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6qsAEEeic_M-KksGsuA" name="className" value="NullPropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6q8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2FXX6Eeipp8d5W3Vl9g" name="Single CustomType" sections="_ZizAHnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4SHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2FnX6Eeipp8d5W3Vl9g" name="isSingleCustomType">
+  <views xmi:id="_PEE6rMAEEeic_M-KksGsuA" name="Single TopLayerOperatorDescriptor" sections="_pzXAQsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhUcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6rcAEEeic_M-KksGsuA" name="isSingleTopLayerOperatorDescriptor">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2F3X6Eeipp8d5W3Vl9g" name="className" value="CustomType"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2GHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6rsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6r8AEEeic_M-KksGsuA" name="className" value="TopLayerOperatorDescriptor"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2GXX6Eeipp8d5W3Vl9g" name="Single TopLayerOperator" sections="_ZiznIHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4SnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2GnX6Eeipp8d5W3Vl9g" name="isSingleTopLayerOperator">
+  <views xmi:id="_PEE6sMAEEeic_M-KksGsuA" name="Single StackedLayerOperatorDescriptor" sections="_pzXAQ8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhUsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6scAEEeic_M-KksGsuA" name="isSingleStackedLayerOperatorDescriptor">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2G3X6Eeipp8d5W3Vl9g" name="className" value="TopLayerOperator"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2HHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6ssAEEeic_M-KksGsuA" name="className" value="StackedLayerOperatorDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6s8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2HXX6Eeipp8d5W3Vl9g" name="Single StackedLayerOperator" sections="_ZiznIXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4S3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2HnX6Eeipp8d5W3Vl9g" name="isSingleStackedLayerOperator">
+  <views xmi:id="_PEE6tMAEEeic_M-KksGsuA" name="Single AllViewsDerivedLayer" sections="_pzXARMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhU8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6tcAEEeic_M-KksGsuA" name="isSingleAllViewsDerivedLayer">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2H3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2IHX6Eeipp8d5W3Vl9g" name="className" value="StackedLayerOperator"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6tsAEEeic_M-KksGsuA" name="className" value="AllViewsDerivedLayer"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6t8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2IXX6Eeipp8d5W3Vl9g" name="Single CustomLayerOperator" sections="_ZiznInX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4THX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2InX6Eeipp8d5W3Vl9g" name="isSingleCustomLayerOperator">
+  <views xmi:id="_PEE6uMAEEeic_M-KksGsuA" name="Single CSSPropertySetter" sections="_pzXARcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhVMAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6ucAEEeic_M-KksGsuA" name="isSingleCSSPropertySetter">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2I3X6Eeipp8d5W3Vl9g" name="className" value="CustomLayerOperator"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2JHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6usAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6u8AEEeic_M-KksGsuA" name="className" value="CSSPropertySetter"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2JXX6Eeipp8d5W3Vl9g" name="Single PropertyIndex" sections="_ZiznI3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4TXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2JnX6Eeipp8d5W3Vl9g" name="isSinglePropertyIndex">
+  <views xmi:id="_PEE6vMAEEeic_M-KksGsuA" name="Single CSSType" sections="_pzXnUMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhVcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6vcAEEeic_M-KksGsuA" name="isSingleCSSType">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2J3X6Eeipp8d5W3Vl9g" name="className" value="PropertyIndex"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2KHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6vsAEEeic_M-KksGsuA" name="className" value="CSSType"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6v8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2KXX6Eeipp8d5W3Vl9g" name="Single StringToPropertyIndexMap" sections="_ZiznJHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4UHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2KnX6Eeipp8d5W3Vl9g" name="isSingleStringToPropertyIndexMap">
+  <views xmi:id="_PEE6wMAEEeic_M-KksGsuA" name="Single CSSInstance" sections="_pzXnUcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhVsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6wcAEEeic_M-KksGsuA" name="isSingleCSSInstance">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2K3X6Eeipp8d5W3Vl9g" name="className" value="StringToPropertyIndexMap"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2LHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6wsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6w8AEEeic_M-KksGsuA" name="className" value="CSSInstance"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2LXX6Eeipp8d5W3Vl9g" name="Single SimpleLayerDescriptor" sections="_ZiznJXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4U3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2LnX6Eeipp8d5W3Vl9g" name="isSingleSimpleLayerDescriptor">
+  <views xmi:id="_PEE6xMAEEeic_M-KksGsuA" name="Single CSSHidePropertySetter" sections="_pzXnUsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhWcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6xcAEEeic_M-KksGsuA" name="isSingleCSSHidePropertySetter">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2L3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2MHX6Eeipp8d5W3Vl9g" name="className" value="SimpleLayerDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6xsAEEeic_M-KksGsuA" name="className" value="CSSHidePropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6x8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2MXX6Eeipp8d5W3Vl9g" name="Single RegExpLayerDescriptor" sections="_ZiznJnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4VHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2MnX6Eeipp8d5W3Vl9g" name="isSingleRegExpLayerDescriptor">
+  <views xmi:id="_PEE6yMAEEeic_M-KksGsuA" name="Single CSSHideType" sections="_pzXnU8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhWsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6ycAEEeic_M-KksGsuA" name="isSingleCSSHideType">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2M3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2NHX6Eeipp8d5W3Vl9g" name="className" value="RegExpLayerDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6ysAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6y8AEEeic_M-KksGsuA" name="className" value="CSSHideType"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2NXX6Eeipp8d5W3Vl9g" name="Single NullInstance" sections="_ZiznJ3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4VXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2NnX6Eeipp8d5W3Vl9g" name="isSingleNullInstance">
+  <views xmi:id="_PEE6zMAEEeic_M-KksGsuA" name="Single CSSHideInstance" sections="_pzXnVMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhW8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6zcAEEeic_M-KksGsuA" name="isSingleCSSHideInstance">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2N3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2OHX6Eeipp8d5W3Vl9g" name="className" value="NullInstance"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6zsAEEeic_M-KksGsuA" name="className" value="CSSHideInstance"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6z8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2OXX6Eeipp8d5W3Vl9g" name="Single RegExpLayer" sections="_ZiznKHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4VnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2OnX6Eeipp8d5W3Vl9g" name="isSingleRegExpLayer">
+  <views xmi:id="_PEE60MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayerNamedStyle" sections="_pzXnVcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7icAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE60cAEEeic_M-KksGsuA" name="isMultipleLayerNamedStyle">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2O3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2PHX6Eeipp8d5W3Vl9g" name="className" value="RegExpLayer"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE60sAEEeic_M-KksGsuA" name="className" value="LayerNamedStyle"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE608AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2PXX6Eeipp8d5W3Vl9g" name="Single Layer" sections="_ZiznKXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4XnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2PnX6Eeipp8d5W3Vl9g" name="isSingleLayer">
+  <views xmi:id="_PEE61MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayersStack" sections="_pzXnVsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7i8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE61cAEEeic_M-KksGsuA" name="isMultipleLayersStack">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2P3X6Eeipp8d5W3Vl9g" name="className" value="Layer"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2QHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE61sAEEeic_M-KksGsuA" name="className" value="LayersStack"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE618AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2QXX6Eeipp8d5W3Vl9g" name="Single Color" sections="_ZiznKnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4X3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2QnX6Eeipp8d5W3Vl9g" name="isSingleColor">
+  <views xmi:id="_PEE62MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayerExpression" sections="_pzXnV8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7kcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE62cAEEeic_M-KksGsuA" name="isMultipleLayerExpression">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2Q3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2RHX6Eeipp8d5W3Vl9g" name="className" value="Color"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE62sAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE628AEEeic_M-KksGsuA" name="className" value="LayerExpression"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2RXX6Eeipp8d5W3Vl9g" name="Single ColorInstance" sections="_ZiznK3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4YHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2RnX6Eeipp8d5W3Vl9g" name="isSingleColorInstance">
+  <views xmi:id="_PEE63MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple ApplicationDependantElement" sections="_pzYOYMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7mcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE63cAEEeic_M-KksGsuA" name="isMultipleApplicationDependantElement">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2R3X6Eeipp8d5W3Vl9g" name="className" value="ColorInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2SHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE63sAEEeic_M-KksGsuA" name="className" value="ApplicationDependantElement"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE638AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2SXX6Eeipp8d5W3Vl9g" name="Single FillInstance" sections="_ZiznLHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4YnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2SnX6Eeipp8d5W3Vl9g" name="isSingleFillInstance">
+  <views xmi:id="_PEE64MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayersStackApplication" sections="_pzYOYcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7m8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE64cAEEeic_M-KksGsuA" name="isMultipleLayersStackApplication">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2S3X6Eeipp8d5W3Vl9g" name="className" value="FillInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2THX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE64sAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE648AEEeic_M-KksGsuA" name="className" value="LayersStackApplication"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2TXX6Eeipp8d5W3Vl9g" name="Single Fill" sections="_ZiznLXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4ZXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2TnX6Eeipp8d5W3Vl9g" name="isSingleFill">
+  <views xmi:id="_PEE65MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple FolderElement" sections="_pzYOYsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7o8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE65cAEEeic_M-KksGsuA" name="isMultipleFolderElement">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2T3X6Eeipp8d5W3Vl9g" name="className" value="Fill"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2UHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE65sAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE658AEEeic_M-KksGsuA" name="className" value="FolderElement"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2UXX6Eeipp8d5W3Vl9g" name="Single FillPropertySetter" sections="_ZiznLnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4ZnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2UnX6Eeipp8d5W3Vl9g" name="isSingleFillPropertySetter">
+  <views xmi:id="_PEE66MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayerStackDescriptorRegistry" sections="_pzYOY8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7pMAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE66cAEEeic_M-KksGsuA" name="isMultipleLayerStackDescriptorRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2U3X6Eeipp8d5W3Vl9g" name="className" value="FillPropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2VHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE66sAEEeic_M-KksGsuA" name="className" value="LayerStackDescriptorRegistry"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE668AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2VXX6Eeipp8d5W3Vl9g" name="Single IsValidPropertySetter" sections="_Zi0OMHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4Z3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2VnX6Eeipp8d5W3Vl9g" name="isSingleIsValidPropertySetter">
+  <views xmi:id="_PEE67MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple PropertyRegistry" sections="_pzYOZMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7pcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE67cAEEeic_M-KksGsuA" name="isMultiplePropertyRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2V3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2WHX6Eeipp8d5W3Vl9g" name="className" value="IsValidPropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE67sAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE678AEEeic_M-KksGsuA" name="className" value="PropertyRegistry"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2WXX6Eeipp8d5W3Vl9g" name="Single NullPropertySetter" sections="_Zi0OMXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4aHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2WnX6Eeipp8d5W3Vl9g" name="isSingleNullPropertySetter">
+  <views xmi:id="_PEE68MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple Property" sections="_pzYOZcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7qcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE68cAEEeic_M-KksGsuA" name="isMultipleProperty">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2W3X6Eeipp8d5W3Vl9g" name="className" value="NullPropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2XHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE68sAEEeic_M-KksGsuA" name="className" value="Property"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE688AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2XXX6Eeipp8d5W3Vl9g" name="Single LineType" sections="_Zi0OMnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4aXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2XnX6Eeipp8d5W3Vl9g" name="isSingleLineType">
+  <views xmi:id="_PEE69MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple Type" sections="_pzYOZsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7r8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE69cAEEeic_M-KksGsuA" name="isMultipleType">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2X3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2YHX6Eeipp8d5W3Vl9g" name="className" value="LineType"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE69sAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE698AEEeic_M-KksGsuA" name="className" value="Type"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2YXX6Eeipp8d5W3Vl9g" name="Single LineInstance" sections="_Zi0OM3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4anX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2YnX6Eeipp8d5W3Vl9g" name="isSingleLineInstance">
+  <views xmi:id="_PEE6-MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple TypeInstance" sections="_pzYOZ8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7ssAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6-cAEEeic_M-KksGsuA" name="isMultipleTypeInstance">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2Y3X6Eeipp8d5W3Vl9g" name="className" value="LineInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2ZHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6-sAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6-8AEEeic_M-KksGsuA" name="className" value="TypeInstance"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2ZXX6Eeipp8d5W3Vl9g" name="Single LinePropertySetter" sections="_Zi0ONHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4bXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2ZnX6Eeipp8d5W3Vl9g" name="isSingleLinePropertySetter">
+  <views xmi:id="_PEE6_MAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple ComputePropertyValueCommandItf" sections="_pzYOaMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7s8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE6_cAEEeic_M-KksGsuA" name="isMultipleComputePropertyValueCommandItf">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2Z3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2aHX6Eeipp8d5W3Vl9g" name="className" value="LinePropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6_sAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE6_8AEEeic_M-KksGsuA" name="className" value="ComputePropertyValueCommandItf"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2aXX6Eeipp8d5W3Vl9g" name="Single FontPropertySetter" sections="_Zi0ONXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4bnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2anX6Eeipp8d5W3Vl9g" name="isSingleFontPropertySetter">
+  <views xmi:id="_PEE7AMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple TypeRegistry" sections="_pzYOacAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7tMAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7AcAEEeic_M-KksGsuA" name="isMultipleTypeRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2a3X6Eeipp8d5W3Vl9g" name="className" value="FontPropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2bHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7AsAEEeic_M-KksGsuA" name="className" value="TypeRegistry"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7A8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2bXX6Eeipp8d5W3Vl9g" name="Single FontInstance" sections="_Zi0ONnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4b3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2bnX6Eeipp8d5W3Vl9g" name="isSingleFontInstance">
+  <views xmi:id="_PEE7BMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple StringToTypeMap" sections="_pzYOasAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7tsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7BcAEEeic_M-KksGsuA" name="isMultipleStringToTypeMap">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2b3X6Eeipp8d5W3Vl9g" name="className" value="FontInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2cHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7BsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7B8AEEeic_M-KksGsuA" name="className" value="StringToTypeMap"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2cXX6Eeipp8d5W3Vl9g" name="Single FontType" sections="_Zi0ON3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4dHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2cnX6Eeipp8d5W3Vl9g" name="isSingleFontType">
+  <views xmi:id="_PEE7CMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayerDescriptorRegistry" sections="_pzY1cMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7ucAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7CcAEEeic_M-KksGsuA" name="isMultipleLayerDescriptorRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2c3X6Eeipp8d5W3Vl9g" name="className" value="FontType"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2dHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7CsAEEeic_M-KksGsuA" name="className" value="LayerDescriptorRegistry"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7C8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2dXX6Eeipp8d5W3Vl9g" name="Single IsVisiblePropertySetter" sections="_Zi0OOHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4dXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2dnX6Eeipp8d5W3Vl9g" name="isSingleIsVisiblePropertySetter">
+  <views xmi:id="_PEE7DMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayerDescriptor" sections="_pzY1ccAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7u8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7DcAEEeic_M-KksGsuA" name="isMultipleLayerDescriptor">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2d3X6Eeipp8d5W3Vl9g" name="className" value="IsVisiblePropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2eHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7DsAEEeic_M-KksGsuA" name="className" value="LayerDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7D8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2eXX6Eeipp8d5W3Vl9g" name="Single TopLayerOperatorDescriptor" sections="_Zi0OOXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4dnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2enX6Eeipp8d5W3Vl9g" name="isSingleTopLayerOperatorDescriptor">
+  <views xmi:id="_PEE7EMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayerApplicationFactory" sections="_pzY1csAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7vcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7EcAEEeic_M-KksGsuA" name="isMultipleLayerApplicationFactory">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2e3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2fHX6Eeipp8d5W3Vl9g" name="className" value="TopLayerOperatorDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7EsAEEeic_M-KksGsuA" name="className" value="LayerApplicationFactory"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7E8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2fXX6Eeipp8d5W3Vl9g" name="Single StackedLayerOperatorDescriptor" sections="_Zi0OOnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4d3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2fnX6Eeipp8d5W3Vl9g" name="isSingleStackedLayerOperatorDescriptor">
+  <views xmi:id="_PEE7FMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple PropertySetterRegistry" sections="_pzY1c8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7v8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7FcAEEeic_M-KksGsuA" name="isMultiplePropertySetterRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2f3X6Eeipp8d5W3Vl9g" name="className" value="StackedLayerOperatorDescriptor"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2gHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7FsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7F8AEEeic_M-KksGsuA" name="className" value="PropertySetterRegistry"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2gXX6Eeipp8d5W3Vl9g" name="Single CustomPropertyOperator" sections="_Zi0OO3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4eHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2gnX6Eeipp8d5W3Vl9g" name="isSingleCustomPropertyOperator">
+  <views xmi:id="_PEE7GMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple PropertySetter" sections="_pzY1dMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7w8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7GcAEEeic_M-KksGsuA" name="isMultiplePropertySetter">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2g3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2hHX6Eeipp8d5W3Vl9g" name="className" value="CustomPropertyOperator"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7GsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7G8AEEeic_M-KksGsuA" name="className" value="PropertySetter"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2hXX6Eeipp8d5W3Vl9g" name="Single AndStackedLayerOperatorDescriptor" sections="_Zi0OPHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4fHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2hnX6Eeipp8d5W3Vl9g" name="isSingleAndStackedLayerOperatorDescriptor">
+  <views xmi:id="_PEE7HMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple StringToPropertySetter" sections="_pzY1dcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7xsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7HcAEEeic_M-KksGsuA" name="isMultipleStringToPropertySetter">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2h3X6Eeipp8d5W3Vl9g" name="className" value="AndStackedLayerOperatorDescriptor"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2iHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7HsAEEeic_M-KksGsuA" name="className" value="StringToPropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7H8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2iXX6Eeipp8d5W3Vl9g" name="Single OrStackedLayerOperatorDescriptor" sections="_Zi0OPXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4fXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2inX6Eeipp8d5W3Vl9g" name="isSingleOrStackedLayerOperatorDescriptor">
+  <views xmi:id="_PEE7IMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayerOperatorDescriptorRegistry" sections="_pzY1dsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7ycAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7IcAEEeic_M-KksGsuA" name="isMultipleLayerOperatorDescriptorRegistry">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2i3X6Eeipp8d5W3Vl9g" name="className" value="OrStackedLayerOperatorDescriptor"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2jHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7IsAEEeic_M-KksGsuA" name="className" value="LayerOperatorDescriptorRegistry"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7I8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2jXX6Eeipp8d5W3Vl9g" name="Single IsAbstractUmlSetter" sections="_Zi0OPnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4fnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2jnX6Eeipp8d5W3Vl9g" name="isSingleIsAbstractUmlSetter">
+  <views xmi:id="_PEE7JMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayerOperatorDescriptor" sections="_pzY1d8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE7zsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7JcAEEeic_M-KksGsuA" name="isMultipleLayerOperatorDescriptor">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2j3X6Eeipp8d5W3Vl9g" name="className" value="IsAbstractUmlSetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2kHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7JsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7J8AEEeic_M-KksGsuA" name="className" value="LayerOperatorDescriptor"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2kXX6Eeipp8d5W3Vl9g" name="Single AllViewsDerivedLayer" sections="_Zi0OP3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4f3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2knX6Eeipp8d5W3Vl9g" name="isSingleAllViewsDerivedLayer">
+  <views xmi:id="_PEE7KMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple PropertyOperator" sections="_pzY1eMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE70cAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7KcAEEeic_M-KksGsuA" name="isMultiplePropertyOperator">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2k3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2lHX6Eeipp8d5W3Vl9g" name="className" value="AllViewsDerivedLayer"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7KsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7K8AEEeic_M-KksGsuA" name="className" value="PropertyOperator"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2lXX6Eeipp8d5W3Vl9g" name="Single CSSPropertySetter" sections="_Zi0OQHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4gHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2lnX6Eeipp8d5W3Vl9g" name="isSingleCSSPropertySetter">
+  <views xmi:id="_PEE7LMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayerOperator" sections="_pzZcgMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE71sAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7LcAEEeic_M-KksGsuA" name="isMultipleLayerOperator">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2l3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2mHX6Eeipp8d5W3Vl9g" name="className" value="CSSPropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7LsAEEeic_M-KksGsuA" name="className" value="LayerOperator"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7L8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2mXX6Eeipp8d5W3Vl9g" name="Single CSSType" sections="_Zi0OQXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4gXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2mnX6Eeipp8d5W3Vl9g" name="isSingleCSSType">
+  <views xmi:id="_PEE7MMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple LayersContainer" sections="_pzZcgcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE72sAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7McAEEeic_M-KksGsuA" name="isMultipleLayersContainer">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2m3X6Eeipp8d5W3Vl9g" name="className" value="CSSType"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2nHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7MsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7M8AEEeic_M-KksGsuA" name="className" value="LayersContainer"/>
     </constraints>
   </views>
-  <views xmi:id="_umc2nXX6Eeipp8d5W3Vl9g" name="Single CSSInstance" sections="_Zi01QHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4gnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2nnX6Eeipp8d5W3Vl9g" name="isSingleCSSInstance">
+  <views xmi:id="_PEE7NMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple AbstractLayer" sections="_pzZcgsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE728AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7NcAEEeic_M-KksGsuA" name="isMultipleAbstractLayer">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2n3X6Eeipp8d5W3Vl9g" name="className" value="CSSInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2oHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2oXX6Eeipp8d5W3Vl9g" name="Single CSSHidePropertySetter" sections="_Zi01QXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4hXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2onX6Eeipp8d5W3Vl9g" name="isSingleCSSHidePropertySetter">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2o3X6Eeipp8d5W3Vl9g" name="className" value="CSSHidePropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2pHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2pXX6Eeipp8d5W3Vl9g" name="Single CSSHideType" sections="_Zi01QnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4hnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2pnX6Eeipp8d5W3Vl9g" name="isSingleCSSHideType">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2p3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2qHX6Eeipp8d5W3Vl9g" name="className" value="CSSHideType"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2qXX6Eeipp8d5W3Vl9g" name="Single CSSHideInstance" sections="_Zi01Q3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4h3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2qnX6Eeipp8d5W3Vl9g" name="isSingleCSSHideInstance">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2q3X6Eeipp8d5W3Vl9g" name="className" value="CSSHideInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2rHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2rXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayerNamedStyle" sections="_Zi01RHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc32nX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2rnX6Eeipp8d5W3Vl9g" name="isMultipleLayerNamedStyle">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2r3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2sHX6Eeipp8d5W3Vl9g" name="className" value="LayerNamedStyle"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2sXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayersStack" sections="_Zi01RXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc33HX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2snX6Eeipp8d5W3Vl9g" name="isMultipleLayersStack">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2s3X6Eeipp8d5W3Vl9g" name="className" value="LayersStack"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2tHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2tXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayerExpression" sections="_Zi01RnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc34nX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2tnX6Eeipp8d5W3Vl9g" name="isMultipleLayerExpression">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2t3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2uHX6Eeipp8d5W3Vl9g" name="className" value="LayerExpression"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2uXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple ApplicationDependantElement" sections="_Zi01R3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc36nX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2unX6Eeipp8d5W3Vl9g" name="isMultipleApplicationDependantElement">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2u3X6Eeipp8d5W3Vl9g" name="className" value="ApplicationDependantElement"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2vHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2vXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayersStackApplication" sections="_Zi01SHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc37HX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2vnX6Eeipp8d5W3Vl9g" name="isMultipleLayersStackApplication">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2v3X6Eeipp8d5W3Vl9g" name="className" value="LayersStackApplication"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2wHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2wXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple FolderElement" sections="_Zi01SXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc39HX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2wnX6Eeipp8d5W3Vl9g" name="isMultipleFolderElement">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2w3X6Eeipp8d5W3Vl9g" name="className" value="FolderElement"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2xHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2xXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayerStackDescriptorRegistry" sections="_Zi01SnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc39XX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2xnX6Eeipp8d5W3Vl9g" name="isMultipleLayerStackDescriptorRegistry">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2x3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2yHX6Eeipp8d5W3Vl9g" name="className" value="LayerStackDescriptorRegistry"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2yXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple PropertyRegistry" sections="_Zi01S3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc39nX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2ynX6Eeipp8d5W3Vl9g" name="isMultiplePropertyRegistry">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2y3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2zHX6Eeipp8d5W3Vl9g" name="className" value="PropertyRegistry"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2zXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple Property" sections="_Zi01THX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc3-nX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2znX6Eeipp8d5W3Vl9g" name="isMultipleProperty">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2z3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc20HX6Eeipp8d5W3Vl9g" name="className" value="Property"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc20XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple Type" sections="_Zi01TXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4AHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc20nX6Eeipp8d5W3Vl9g" name="isMultipleType">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc203X6Eeipp8d5W3Vl9g" name="className" value="Type"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc21HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc21XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple Metamodel" sections="_Zi01TnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4BHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc21nX6Eeipp8d5W3Vl9g" name="isMultipleMetamodel">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc213X6Eeipp8d5W3Vl9g" name="className" value="Metamodel"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc22HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc22XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple TypeInstance" sections="_Zi01T3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4C3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc22nX6Eeipp8d5W3Vl9g" name="isMultipleTypeInstance">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc223X6Eeipp8d5W3Vl9g" name="className" value="TypeInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc23HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc23XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple ComputePropertyValueCommandItf" sections="_Zi01UHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4DHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc23nX6Eeipp8d5W3Vl9g" name="isMultipleComputePropertyValueCommandItf">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc233X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc24HX6Eeipp8d5W3Vl9g" name="className" value="ComputePropertyValueCommandItf"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc24XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple TypeRegistry" sections="_Zi1cUHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4DXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc24nX6Eeipp8d5W3Vl9g" name="isMultipleTypeRegistry">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc243X6Eeipp8d5W3Vl9g" name="className" value="TypeRegistry"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc25HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc25XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple StringToTypeMap" sections="_Zi1cUXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4D3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc25nX6Eeipp8d5W3Vl9g" name="isMultipleStringToTypeMap">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc253X6Eeipp8d5W3Vl9g" name="className" value="StringToTypeMap"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc26HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc26XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayerDescriptorRegistry" sections="_Zi1cUnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4EnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc26nX6Eeipp8d5W3Vl9g" name="isMultipleLayerDescriptorRegistry">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc263X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc27HX6Eeipp8d5W3Vl9g" name="className" value="LayerDescriptorRegistry"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc27XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayerDescriptor" sections="_Zi1cU3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4FHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc27nX6Eeipp8d5W3Vl9g" name="isMultipleLayerDescriptor">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc273X6Eeipp8d5W3Vl9g" name="className" value="LayerDescriptor"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc28HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc28XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayerApplicationFactory" sections="_Zi1cVHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4FnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc28nX6Eeipp8d5W3Vl9g" name="isMultipleLayerApplicationFactory">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc283X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc29HX6Eeipp8d5W3Vl9g" name="className" value="LayerApplicationFactory"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc29XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple PropertySetterRegistry" sections="_Zi1cVXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4GHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc29nX6Eeipp8d5W3Vl9g" name="isMultiplePropertySetterRegistry">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc293X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2-HX6Eeipp8d5W3Vl9g" name="className" value="PropertySetterRegistry"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2-XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple PropertySetter" sections="_Zi1cVnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4HHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2-nX6Eeipp8d5W3Vl9g" name="isMultiplePropertySetter">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2-3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2_HX6Eeipp8d5W3Vl9g" name="className" value="PropertySetter"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc2_XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple StringToPropertySetter" sections="_Zi1cV3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4H3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc2_nX6Eeipp8d5W3Vl9g" name="isMultipleStringToPropertySetter">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc2_3X6Eeipp8d5W3Vl9g" name="className" value="StringToPropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3AHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3AXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayerOperatorDescriptorRegistry" sections="_Zi1cWHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4InX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3AnX6Eeipp8d5W3Vl9g" name="isMultipleLayerOperatorDescriptorRegistry">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3A3X6Eeipp8d5W3Vl9g" name="className" value="LayerOperatorDescriptorRegistry"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3BHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3BXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayerOperatorDescriptor" sections="_Zi1cWXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4J3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3BnX6Eeipp8d5W3Vl9g" name="isMultipleLayerOperatorDescriptor">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3B3X6Eeipp8d5W3Vl9g" name="className" value="LayerOperatorDescriptor"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3CHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3CXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple PropertyOperator" sections="_Zi1cWnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4KnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3CnX6Eeipp8d5W3Vl9g" name="isMultiplePropertyOperator">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3C3X6Eeipp8d5W3Vl9g" name="className" value="PropertyOperator"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3DHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3DXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple AbstractLayerOperator" sections="_Zi1cW3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4LHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3DnX6Eeipp8d5W3Vl9g" name="isMultipleAbstractLayerOperator">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3D3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3EHX6Eeipp8d5W3Vl9g" name="className" value="AbstractLayerOperator"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3EXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayerOperator" sections="_Zi1cXHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4L3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3EnX6Eeipp8d5W3Vl9g" name="isMultipleLayerOperator">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3E3X6Eeipp8d5W3Vl9g" name="className" value="LayerOperator"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3FHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3FXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LayersContainer" sections="_Zi1cXXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4MXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3FnX6Eeipp8d5W3Vl9g" name="isMultipleLayersContainer">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3F3X6Eeipp8d5W3Vl9g" name="className" value="LayersContainer"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3GHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3GXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple DefaultPropertyOperator" sections="_Zi1cXnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4MnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3GnX6Eeipp8d5W3Vl9g" name="isMultipleDefaultPropertyOperator">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3G3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3HHX6Eeipp8d5W3Vl9g" name="className" value="DefaultPropertyOperator"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3HXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple AbstractLayer" sections="_Zi2DYHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4M3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3HnX6Eeipp8d5W3Vl9g" name="isMultipleAbstractLayer">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3H3X6Eeipp8d5W3Vl9g" name="className" value="AbstractLayer"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3IHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3IXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple StringToTypeInstanceMap" sections="_Zi2DYXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4OXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3InX6Eeipp8d5W3Vl9g" name="isMultipleStringToTypeInstanceMap">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3I3X6Eeipp8d5W3Vl9g" name="className" value="StringToTypeInstanceMap"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3JHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3JXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple Folder" sections="_Zi2DYnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4PHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3JnX6Eeipp8d5W3Vl9g" name="isMultipleFolder">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3J3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3KHX6Eeipp8d5W3Vl9g" name="className" value="Folder"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3KXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple IntInstance" sections="_Zi2DY3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4P3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3KnX6Eeipp8d5W3Vl9g" name="isMultipleIntInstance">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3K3X6Eeipp8d5W3Vl9g" name="className" value="IntInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3LHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3LXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple BooleanInstance" sections="_Zi2DZHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4QXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3LnX6Eeipp8d5W3Vl9g" name="isMultipleBooleanInstance">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3L3X6Eeipp8d5W3Vl9g" name="className" value="BooleanInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3MHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3MXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple StringInstance" sections="_Zi2DZXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4Q3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3MnX6Eeipp8d5W3Vl9g" name="isMultipleStringInstance">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3M3X6Eeipp8d5W3Vl9g" name="className" value="StringInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3NHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3NXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple IntType" sections="_Zi2DZnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4RXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3NnX6Eeipp8d5W3Vl9g" name="isMultipleIntType">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3N3X6Eeipp8d5W3Vl9g" name="className" value="IntType"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3OHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3OXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple BooleanType" sections="_Zi2DZ3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4RnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3OnX6Eeipp8d5W3Vl9g" name="isMultipleBooleanType">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3O3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3PHX6Eeipp8d5W3Vl9g" name="className" value="BooleanType"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3PXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple StringType" sections="_Zi2DaHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4R3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3PnX6Eeipp8d5W3Vl9g" name="isMultipleStringType">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3P3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3QHX6Eeipp8d5W3Vl9g" name="className" value="StringType"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3QXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple CustomType" sections="_Zi2DaXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4SHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3QnX6Eeipp8d5W3Vl9g" name="isMultipleCustomType">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3Q3X6Eeipp8d5W3Vl9g" name="className" value="CustomType"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3RHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3RXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple TopLayerOperator" sections="_Zi2DanX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4SnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3RnX6Eeipp8d5W3Vl9g" name="isMultipleTopLayerOperator">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3R3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3SHX6Eeipp8d5W3Vl9g" name="className" value="TopLayerOperator"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3SXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple StackedLayerOperator" sections="_Zi2Da3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4S3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3SnX6Eeipp8d5W3Vl9g" name="isMultipleStackedLayerOperator">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3S3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3THX6Eeipp8d5W3Vl9g" name="className" value="StackedLayerOperator"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3TXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple CustomLayerOperator" sections="_Zi2DbHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4THX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3TnX6Eeipp8d5W3Vl9g" name="isMultipleCustomLayerOperator">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3T3X6Eeipp8d5W3Vl9g" name="className" value="CustomLayerOperator"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3UHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3UXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple PropertyIndex" sections="_Zi2DbXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4TXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3UnX6Eeipp8d5W3Vl9g" name="isMultiplePropertyIndex">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3U3X6Eeipp8d5W3Vl9g" name="className" value="PropertyIndex"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3VHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3VXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple StringToPropertyIndexMap" sections="_Zi2qcHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4UHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3VnX6Eeipp8d5W3Vl9g" name="isMultipleStringToPropertyIndexMap">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3V3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3WHX6Eeipp8d5W3Vl9g" name="className" value="StringToPropertyIndexMap"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3WXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple SimpleLayerDescriptor" sections="_Zi2qcXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4U3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3WnX6Eeipp8d5W3Vl9g" name="isMultipleSimpleLayerDescriptor">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3W3X6Eeipp8d5W3Vl9g" name="className" value="SimpleLayerDescriptor"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3XHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3XXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple RegExpLayerDescriptor" sections="_Zi2qcnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4VHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3XnX6Eeipp8d5W3Vl9g" name="isMultipleRegExpLayerDescriptor">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3X3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3YHX6Eeipp8d5W3Vl9g" name="className" value="RegExpLayerDescriptor"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3YXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple NullInstance" sections="_Zi2qc3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4VXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3YnX6Eeipp8d5W3Vl9g" name="isMultipleNullInstance">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3Y3X6Eeipp8d5W3Vl9g" name="className" value="NullInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3ZHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3ZXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple RegExpLayer" sections="_Zi2qdHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4VnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3ZnX6Eeipp8d5W3Vl9g" name="isMultipleRegExpLayer">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3Z3X6Eeipp8d5W3Vl9g" name="className" value="RegExpLayer"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3aHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3aXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple Layer" sections="_ZjCQoHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4XnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3anX6Eeipp8d5W3Vl9g" name="isMultipleLayer">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3a3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3bHX6Eeipp8d5W3Vl9g" name="className" value="Layer"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3bXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple Color" sections="_ZjCQoXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4X3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3bnX6Eeipp8d5W3Vl9g" name="isMultipleColor">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3b3X6Eeipp8d5W3Vl9g" name="className" value="Color"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3cHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3cXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple ColorInstance" sections="_ZjCQonX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4YHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3cnX6Eeipp8d5W3Vl9g" name="isMultipleColorInstance">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3c3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3dHX6Eeipp8d5W3Vl9g" name="className" value="ColorInstance"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3dXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple FillInstance" sections="_ZjCQo3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4YnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3dnX6Eeipp8d5W3Vl9g" name="isMultipleFillInstance">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3d3X6Eeipp8d5W3Vl9g" name="className" value="FillInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3eHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3eXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple Fill" sections="_ZjCQpHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4ZXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3enX6Eeipp8d5W3Vl9g" name="isMultipleFill">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3e3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3fHX6Eeipp8d5W3Vl9g" name="className" value="Fill"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3fXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple FillPropertySetter" sections="_ZjCQpXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4ZnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3fnX6Eeipp8d5W3Vl9g" name="isMultipleFillPropertySetter">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3f3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3gHX6Eeipp8d5W3Vl9g" name="className" value="FillPropertySetter"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3gXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple IsValidPropertySetter" sections="_ZjCQpnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4Z3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3gnX6Eeipp8d5W3Vl9g" name="isMultipleIsValidPropertySetter">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3g3X6Eeipp8d5W3Vl9g" name="className" value="IsValidPropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3hHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-    </constraints>
-  </views>
-  <views xmi:id="_umc3hXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple NullPropertySetter" sections="_ZjCQp3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4aHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3hnX6Eeipp8d5W3Vl9g" name="isMultipleNullPropertySetter">
-      <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3h3X6Eeipp8d5W3Vl9g" name="className" value="NullPropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3iHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7NsAEEeic_M-KksGsuA" name="className" value="AbstractLayer"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7N8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3iXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LineType" sections="_ZjCQqHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4aXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3inX6Eeipp8d5W3Vl9g" name="isMultipleLineType">
+  <views xmi:id="_PEE7OMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple StringToTypeInstanceMap" sections="_pzZcg8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE74cAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7OcAEEeic_M-KksGsuA" name="isMultipleStringToTypeInstanceMap">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3i3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3jHX6Eeipp8d5W3Vl9g" name="className" value="LineType"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7OsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7O8AEEeic_M-KksGsuA" name="className" value="StringToTypeInstanceMap"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3jXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LineInstance" sections="_ZjCQqXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4anX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3jnX6Eeipp8d5W3Vl9g" name="isMultipleLineInstance">
+  <views xmi:id="_PEE7PMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple Folder" sections="_pzZchMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE75MAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7PcAEEeic_M-KksGsuA" name="isMultipleFolder">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3j3X6Eeipp8d5W3Vl9g" name="className" value="LineInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3kHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7PsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7P8AEEeic_M-KksGsuA" name="className" value="Folder"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3kXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple LinePropertySetter" sections="_ZjCQqnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4bXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3knX6Eeipp8d5W3Vl9g" name="isMultipleLinePropertySetter">
+  <views xmi:id="_PEE7QMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple Metamodel" sections="_pzZchcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEE758AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7QcAEEeic_M-KksGsuA" name="isMultipleMetamodel">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3k3X6Eeipp8d5W3Vl9g" name="className" value="LinePropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3lHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7QsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7Q8AEEeic_M-KksGsuA" name="className" value="Metamodel"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3lXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple FontPropertySetter" sections="_ZjCQq3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4bnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3lnX6Eeipp8d5W3Vl9g" name="isMultipleFontPropertySetter">
+  <views xmi:id="_PEE7RMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple TopLayerOperator" sections="_pzZchsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhRcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7RcAEEeic_M-KksGsuA" name="isMultipleTopLayerOperator">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3l3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3mHX6Eeipp8d5W3Vl9g" name="className" value="FontPropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7RsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7R8AEEeic_M-KksGsuA" name="className" value="TopLayerOperator"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3mXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple FontInstance" sections="_ZjCQrHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4b3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3mnX6Eeipp8d5W3Vl9g" name="isMultipleFontInstance">
+  <views xmi:id="_PEE7SMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple StackedLayerOperator" sections="_pzaDkMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhRsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7ScAEEeic_M-KksGsuA" name="isMultipleStackedLayerOperator">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3m3X6Eeipp8d5W3Vl9g" name="className" value="FontInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3nHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7SsAEEeic_M-KksGsuA" name="className" value="StackedLayerOperator"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7S8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3nXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple FontType" sections="_ZjCQrXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4dHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3nnX6Eeipp8d5W3Vl9g" name="isMultipleFontType">
+  <views xmi:id="_PEE7TMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple PropertyIndex" sections="_pzaDkcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhR8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7TcAEEeic_M-KksGsuA" name="isMultiplePropertyIndex">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3n3X6Eeipp8d5W3Vl9g" name="className" value="FontType"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3oHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7TsAEEeic_M-KksGsuA" name="className" value="PropertyIndex"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7T8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3oXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple IsVisiblePropertySetter" sections="_ZjCQrnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4dXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3onX6Eeipp8d5W3Vl9g" name="isMultipleIsVisiblePropertySetter">
+  <views xmi:id="_PEE7UMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple StringToPropertyIndexMap" sections="_pzaDksAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhSsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7UcAEEeic_M-KksGsuA" name="isMultipleStringToPropertyIndexMap">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3o3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3pHX6Eeipp8d5W3Vl9g" name="className" value="IsVisiblePropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7UsAEEeic_M-KksGsuA" name="className" value="StringToPropertyIndexMap"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7U8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3pXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple TopLayerOperatorDescriptor" sections="_ZjC3sHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4dnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3pnX6Eeipp8d5W3Vl9g" name="isMultipleTopLayerOperatorDescriptor">
+  <views xmi:id="_PEE7VMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple SimpleLayerDescriptor" sections="_pzaDk8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhTcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7VcAEEeic_M-KksGsuA" name="isMultipleSimpleLayerDescriptor">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3p3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3qHX6Eeipp8d5W3Vl9g" name="className" value="TopLayerOperatorDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7VsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7V8AEEeic_M-KksGsuA" name="className" value="SimpleLayerDescriptor"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3qXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple StackedLayerOperatorDescriptor" sections="_ZjC3sXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4d3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3qnX6Eeipp8d5W3Vl9g" name="isMultipleStackedLayerOperatorDescriptor">
+  <views xmi:id="_PEE7WMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple NullInstance" sections="_pzaDlMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhTsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7WcAEEeic_M-KksGsuA" name="isMultipleNullInstance">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3q3X6Eeipp8d5W3Vl9g" name="className" value="StackedLayerOperatorDescriptor"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3rHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7WsAEEeic_M-KksGsuA" name="className" value="NullInstance"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7W8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3rXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple CustomPropertyOperator" sections="_ZjC3snX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4eHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3rnX6Eeipp8d5W3Vl9g" name="isMultipleCustomPropertyOperator">
+  <views xmi:id="_PEE7XMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple Layer" sections="_pzaDlcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhT8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7XcAEEeic_M-KksGsuA" name="isMultipleLayer">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3r3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3sHX6Eeipp8d5W3Vl9g" name="className" value="CustomPropertyOperator"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7XsAEEeic_M-KksGsuA" name="className" value="Layer"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7X8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3sXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple AndStackedLayerOperatorDescriptor" sections="_ZjC3s3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4fHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3snX6Eeipp8d5W3Vl9g" name="isMultipleAndStackedLayerOperatorDescriptor">
+  <views xmi:id="_PEE7YMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple NullPropertySetter" sections="_pzaDlsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhUMAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7YcAEEeic_M-KksGsuA" name="isMultipleNullPropertySetter">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3s3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3tHX6Eeipp8d5W3Vl9g" name="className" value="AndStackedLayerOperatorDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7YsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7Y8AEEeic_M-KksGsuA" name="className" value="NullPropertySetter"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3tXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple OrStackedLayerOperatorDescriptor" sections="_ZjC3tHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4fXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3tnX6Eeipp8d5W3Vl9g" name="isMultipleOrStackedLayerOperatorDescriptor">
+  <views xmi:id="_PEE7ZMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple TopLayerOperatorDescriptor" sections="_pzaDl8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhUcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7ZcAEEeic_M-KksGsuA" name="isMultipleTopLayerOperatorDescriptor">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3t3X6Eeipp8d5W3Vl9g" name="className" value="OrStackedLayerOperatorDescriptor"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3uHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7ZsAEEeic_M-KksGsuA" name="className" value="TopLayerOperatorDescriptor"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7Z8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3uXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple IsAbstractUmlSetter" sections="_ZjC3tXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4fnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3unX6Eeipp8d5W3Vl9g" name="isMultipleIsAbstractUmlSetter">
+  <views xmi:id="_PEE7aMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple StackedLayerOperatorDescriptor" sections="_pzaDmMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhUsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7acAEEeic_M-KksGsuA" name="isMultipleStackedLayerOperatorDescriptor">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3u3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3vHX6Eeipp8d5W3Vl9g" name="className" value="IsAbstractUmlSetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7asAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7a8AEEeic_M-KksGsuA" name="className" value="StackedLayerOperatorDescriptor"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3vXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple AllViewsDerivedLayer" sections="_ZjC3tnX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4f3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3vnX6Eeipp8d5W3Vl9g" name="isMultipleAllViewsDerivedLayer">
+  <views xmi:id="_PEE7bMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple AllViewsDerivedLayer" sections="_pzaqoMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhU8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7bcAEEeic_M-KksGsuA" name="isMultipleAllViewsDerivedLayer">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3v3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3wHX6Eeipp8d5W3Vl9g" name="className" value="AllViewsDerivedLayer"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7bsAEEeic_M-KksGsuA" name="className" value="AllViewsDerivedLayer"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7b8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3wXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple CSSPropertySetter" sections="_ZjC3t3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4gHX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3wnX6Eeipp8d5W3Vl9g" name="isMultipleCSSPropertySetter">
+  <views xmi:id="_PEE7cMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple CSSPropertySetter" sections="_pzaqocAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhVMAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7ccAEEeic_M-KksGsuA" name="isMultipleCSSPropertySetter">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3w3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3xHX6Eeipp8d5W3Vl9g" name="className" value="CSSPropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7csAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7c8AEEeic_M-KksGsuA" name="className" value="CSSPropertySetter"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3xXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple CSSType" sections="_ZjC3uHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4gXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3xnX6Eeipp8d5W3Vl9g" name="isMultipleCSSType">
+  <views xmi:id="_PEE7dMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple CSSType" sections="_pzaqosAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhVcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7dcAEEeic_M-KksGsuA" name="isMultipleCSSType">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3x3X6Eeipp8d5W3Vl9g" name="className" value="CSSType"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3yHX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7dsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7d8AEEeic_M-KksGsuA" name="className" value="CSSType"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3yXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple CSSInstance" sections="_ZjC3uXX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4gnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3ynX6Eeipp8d5W3Vl9g" name="isMultipleCSSInstance">
+  <views xmi:id="_PEE7eMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple CSSInstance" sections="_pzaqo8AEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhVsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7ecAEEeic_M-KksGsuA" name="isMultipleCSSInstance">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3y3X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3zHX6Eeipp8d5W3Vl9g" name="className" value="CSSInstance"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7esAEEeic_M-KksGsuA" name="className" value="CSSInstance"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7e8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc3zXX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple CSSHidePropertySetter" sections="_ZjC3unX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4hXX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc3znX6Eeipp8d5W3Vl9g" name="isMultipleCSSHidePropertySetter">
+  <views xmi:id="_PEE7fMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple CSSHidePropertySetter" sections="_pzaqpMAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhWcAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7fcAEEeic_M-KksGsuA" name="isMultipleCSSHidePropertySetter">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc3z3X6Eeipp8d5W3Vl9g" name="className" value="CSSHidePropertySetter"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc30HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7fsAEEeic_M-KksGsuA" name="className" value="CSSHidePropertySetter"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7f8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc30XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple CSSHideType" sections="_ZjC3u3X7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4hnX6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc30nX6Eeipp8d5W3Vl9g" name="isMultipleCSSHideType">
+  <views xmi:id="_PEE7gMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple CSSHideType" sections="_pzaqpcAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhWsAEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7gcAEEeic_M-KksGsuA" name="isMultipleCSSHideType">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc303X6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc31HX6Eeipp8d5W3Vl9g" name="className" value="CSSHideType"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7gsAEEeic_M-KksGsuA" name="className" value="CSSHideType"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7g8AEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
     </constraints>
   </views>
-  <views xmi:id="_umc31XX6Eeipp8d5W3Vl9g" elementMultiplicity="-1" name="Multiple CSSHideInstance" sections="_ZjC3vHX7Eeipp8d5W3Vl9g" automaticContext="true" datacontexts="_umc4h3X6Eeipp8d5W3Vl9g">
-    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_umc31nX6Eeipp8d5W3Vl9g" name="isMultipleCSSHideInstance">
+  <views xmi:id="_PEE7hMAEEeic_M-KksGsuA" elementMultiplicity="-1" name="Multiple CSSHideInstance" sections="_pzaqpsAEEeic_M-KksGsuA" automaticContext="true" datacontexts="_PEFhW8AEEeic_M-KksGsuA">
+    <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_PEE7hcAEEeic_M-KksGsuA" name="isMultipleCSSHideInstance">
       <constraintType href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@constraintTypes.0"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc313X6Eeipp8d5W3Vl9g" name="className" value="CSSHideInstance"/>
-      <properties xsi:type="constraints:ValueProperty" xmi:id="_umc32HX6Eeipp8d5W3Vl9g" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7hsAEEeic_M-KksGsuA" name="nsUri" value="http://www.eclipse.org/papyrus/infra/gmfdiag/layers"/>
+      <properties xsi:type="constraints:ValueProperty" xmi:id="_PEE7h8AEEeic_M-KksGsuA" name="className" value="CSSHideInstance"/>
     </constraints>
   </views>
-  <dataContexts xmi:id="_umc32XX6Eeipp8d5W3Vl9g" name="layers" label="layers">
-    <elements xmi:id="_umc32nX6Eeipp8d5W3Vl9g" name="LayerNamedStyle">
-      <properties xmi:id="_umc323X6Eeipp8d5W3Vl9g" name="layersStack" type="Reference" multiplicity="-1"/>
+  <dataContexts xmi:id="_PEE7iMAEEeic_M-KksGsuA" name="layers" label="layers">
+    <elements xmi:id="_PEE7icAEEeic_M-KksGsuA" name="LayerNamedStyle">
+      <properties xmi:id="_PEE7isAEEeic_M-KksGsuA" name="layersStack" type="Reference" multiplicity="-1"/>
     </elements>
-    <elements xmi:id="_umc33HX6Eeipp8d5W3Vl9g" name="LayersStack" supertypes="_umc4MXX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc33XX6Eeipp8d5W3Vl9g" name="layers" type="Reference"/>
-      <properties xmi:id="_umc33nX6Eeipp8d5W3Vl9g" name="name"/>
-      <properties xmi:id="_umc333X6Eeipp8d5W3Vl9g" name="description"/>
-      <properties xmi:id="_umc34HX6Eeipp8d5W3Vl9g" name="diagram" type="Reference"/>
-      <properties xmi:id="_umc34XX6Eeipp8d5W3Vl9g" name="state" type="Enumeration"/>
+    <elements xmi:id="_PEE7i8AEEeic_M-KksGsuA" name="LayersStack" supertypes="_PEE72sAEEeic_M-KksGsuA">
+      <properties xmi:id="_PEE7jMAEEeic_M-KksGsuA" name="layers" type="Reference"/>
+      <properties xmi:id="_PEE7jcAEEeic_M-KksGsuA" name="name"/>
+      <properties xmi:id="_PEE7jsAEEeic_M-KksGsuA" name="description"/>
+      <properties xmi:id="_PEE7j8AEEeic_M-KksGsuA" name="diagram" type="Reference"/>
+      <properties xmi:id="_PEE7kMAEEeic_M-KksGsuA" name="state" type="Enumeration"/>
     </elements>
-    <elements xmi:id="_umc34nX6Eeipp8d5W3Vl9g" name="LayerExpression" supertypes="_umc36nX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc343X6Eeipp8d5W3Vl9g" name="name"/>
-      <properties xmi:id="_umc35HX6Eeipp8d5W3Vl9g" name="description"/>
-      <properties xmi:id="_umc35XX6Eeipp8d5W3Vl9g" name="isLayerEnabledInternal" type="Boolean"/>
-      <properties xmi:id="_umc35nX6Eeipp8d5W3Vl9g" name="isLayerEnabled" type="Boolean"/>
-      <properties xmi:id="_umc353X6Eeipp8d5W3Vl9g" name="isBranchEnabled" type="Boolean" description="Is the branch from this node to the root enabled ?&#xD;&#xA;A branch is enabled if all node of the branch are enabled.&#xD;&#xA;In other world, if an ancestor node is disable, the branch is disabled.&#xD;&#xA;Setting the value of this node set the value of the subnodes."/>
-      <properties xmi:id="_umc36HX6Eeipp8d5W3Vl9g" name="owningLayersStack" type="Reference"/>
-      <properties xmi:id="_umc36XX6Eeipp8d5W3Vl9g" name="state" type="Enumeration"/>
+    <elements xmi:id="_PEE7kcAEEeic_M-KksGsuA" name="LayerExpression" supertypes="_PEE7mcAEEeic_M-KksGsuA">
+      <properties xmi:id="_PEE7ksAEEeic_M-KksGsuA" name="name"/>
+      <properties xmi:id="_PEE7k8AEEeic_M-KksGsuA" name="description"/>
+      <properties xmi:id="_PEE7lMAEEeic_M-KksGsuA" name="isLayerEnabledInternal" type="Boolean"/>
+      <properties xmi:id="_PEE7lcAEEeic_M-KksGsuA" name="isLayerEnabled" type="Boolean"/>
+      <properties xmi:id="_PEE7lsAEEeic_M-KksGsuA" name="isBranchEnabled" type="Boolean" description="Is the branch from this node to the root enabled ?&#xD;&#xA;A branch is enabled if all node of the branch are enabled.&#xD;&#xA;In other world, if an ancestor node is disable, the branch is disabled.&#xD;&#xA;Setting the value of this node set the value of the subnodes."/>
+      <properties xmi:id="_PEE7l8AEEeic_M-KksGsuA" name="owningLayersStack" type="Reference"/>
+      <properties xmi:id="_PEE7mMAEEeic_M-KksGsuA" name="state" type="Enumeration"/>
     </elements>
-    <elements xmi:id="_umc36nX6Eeipp8d5W3Vl9g" name="ApplicationDependantElement">
-      <properties xmi:id="_umc363X6Eeipp8d5W3Vl9g" name="application" type="Reference"/>
+    <elements xmi:id="_PEE7mcAEEeic_M-KksGsuA" name="ApplicationDependantElement">
+      <properties xmi:id="_PEE7msAEEeic_M-KksGsuA" name="application" type="Reference"/>
     </elements>
-    <elements xmi:id="_umc37HX6Eeipp8d5W3Vl9g" name="LayersStackApplication" supertypes="_umc39HX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc37XX6Eeipp8d5W3Vl9g" name="layersStacks" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc37nX6Eeipp8d5W3Vl9g" name="layerStackRegistry" type="Reference"/>
-      <properties xmi:id="_umc373X6Eeipp8d5W3Vl9g" name="propertyRegistry" type="Reference"/>
-      <properties xmi:id="_umc38HX6Eeipp8d5W3Vl9g" name="layerDescriptorRegistry" type="Reference"/>
-      <properties xmi:id="_umc38XX6Eeipp8d5W3Vl9g" name="factory" type="Reference"/>
-      <properties xmi:id="_umc38nX6Eeipp8d5W3Vl9g" name="propertySetterRegistry" type="Reference"/>
-      <properties xmi:id="_umc383X6Eeipp8d5W3Vl9g" name="layerOperatorDescriptorRegistry" type="Reference"/>
+    <elements xmi:id="_PEE7m8AEEeic_M-KksGsuA" name="LayersStackApplication" supertypes="_PEE7o8AEEeic_M-KksGsuA">
+      <properties xmi:id="_PEE7nMAEEeic_M-KksGsuA" name="layersStacks" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE7ncAEEeic_M-KksGsuA" name="layerStackRegistry" type="Reference"/>
+      <properties xmi:id="_PEE7nsAEEeic_M-KksGsuA" name="propertyRegistry" type="Reference"/>
+      <properties xmi:id="_PEE7n8AEEeic_M-KksGsuA" name="layerDescriptorRegistry" type="Reference"/>
+      <properties xmi:id="_PEE7oMAEEeic_M-KksGsuA" name="factory" type="Reference"/>
+      <properties xmi:id="_PEE7ocAEEeic_M-KksGsuA" name="propertySetterRegistry" type="Reference"/>
+      <properties xmi:id="_PEE7osAEEeic_M-KksGsuA" name="layerOperatorDescriptorRegistry" type="Reference"/>
     </elements>
-    <elements xmi:id="_umc39HX6Eeipp8d5W3Vl9g" name="FolderElement"/>
-    <elements xmi:id="_umc39XX6Eeipp8d5W3Vl9g" name="LayerStackDescriptorRegistry"/>
-    <elements xmi:id="_umc39nX6Eeipp8d5W3Vl9g" name="PropertyRegistry">
-      <properties xmi:id="_umc393X6Eeipp8d5W3Vl9g" name="properties" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc3-HX6Eeipp8d5W3Vl9g" name="typeRegistry" type="Reference"/>
-      <properties xmi:id="_umc3-XX6Eeipp8d5W3Vl9g" name="propertiesCount" type="Integer"/>
+    <elements xmi:id="_PEE7o8AEEeic_M-KksGsuA" name="FolderElement"/>
+    <elements xmi:id="_PEE7pMAEEeic_M-KksGsuA" name="LayerStackDescriptorRegistry"/>
+    <elements xmi:id="_PEE7pcAEEeic_M-KksGsuA" name="PropertyRegistry">
+      <properties xmi:id="_PEE7psAEEeic_M-KksGsuA" name="properties" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE7p8AEEeic_M-KksGsuA" name="typeRegistry" type="Reference"/>
+      <properties xmi:id="_PEE7qMAEEeic_M-KksGsuA" name="propertiesCount" type="Integer"/>
     </elements>
-    <elements xmi:id="_umc3-nX6Eeipp8d5W3Vl9g" name="Property" supertypes="_umc39HX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc3-3X6Eeipp8d5W3Vl9g" name="type" type="Reference"/>
-      <properties xmi:id="_umc3_HX6Eeipp8d5W3Vl9g" name="defaultValue" type="Reference"/>
-      <properties xmi:id="_umc3_XX6Eeipp8d5W3Vl9g" name="name"/>
-      <properties xmi:id="_umc3_nX6Eeipp8d5W3Vl9g" name="description"/>
-      <properties xmi:id="_umc3_3X6Eeipp8d5W3Vl9g" name="index" type="Integer"/>
+    <elements xmi:id="_PEE7qcAEEeic_M-KksGsuA" name="Property" supertypes="_PEE7o8AEEeic_M-KksGsuA">
+      <properties xmi:id="_PEE7qsAEEeic_M-KksGsuA" name="type" type="Reference"/>
+      <properties xmi:id="_PEE7q8AEEeic_M-KksGsuA" name="defaultValue" type="Reference"/>
+      <properties xmi:id="_PEE7rMAEEeic_M-KksGsuA" name="name"/>
+      <properties xmi:id="_PEE7rcAEEeic_M-KksGsuA" name="description"/>
+      <properties xmi:id="_PEE7rsAEEeic_M-KksGsuA" name="index" type="Integer"/>
     </elements>
-    <elements xmi:id="_umc4AHX6Eeipp8d5W3Vl9g" name="Type" supertypes="_umc39HX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4AXX6Eeipp8d5W3Vl9g" name="metamodel" type="Reference"/>
-      <properties xmi:id="_umc4AnX6Eeipp8d5W3Vl9g" name="name"/>
-      <properties xmi:id="_umc4A3X6Eeipp8d5W3Vl9g" name="description"/>
+    <elements xmi:id="_PEE7r8AEEeic_M-KksGsuA" name="Type" supertypes="_PEE7o8AEEeic_M-KksGsuA">
+      <properties xmi:id="_PEE7sMAEEeic_M-KksGsuA" name="name"/>
+      <properties xmi:id="_PEE7scAEEeic_M-KksGsuA" name="description"/>
     </elements>
-    <elements xmi:id="_umc4BHX6Eeipp8d5W3Vl9g" name="Metamodel" supertypes="_umc39HX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4BXX6Eeipp8d5W3Vl9g" name="name"/>
-      <properties xmi:id="_umc4BnX6Eeipp8d5W3Vl9g" name="description"/>
-      <properties xmi:id="_umc4B3X6Eeipp8d5W3Vl9g" name="nsuri"/>
-      <properties xmi:id="_umc4CHX6Eeipp8d5W3Vl9g" name="pluginID"/>
-      <properties xmi:id="_umc4CXX6Eeipp8d5W3Vl9g" name="ePackageInstanceName"/>
-      <properties xmi:id="_umc4CnX6Eeipp8d5W3Vl9g" name="isTypeValid" type="Boolean"/>
+    <elements xmi:id="_PEE7ssAEEeic_M-KksGsuA" name="TypeInstance" supertypes="_PEE7s8AEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEE7s8AEEeic_M-KksGsuA" name="ComputePropertyValueCommandItf"/>
+    <elements xmi:id="_PEE7tMAEEeic_M-KksGsuA" name="TypeRegistry">
+      <properties xmi:id="_PEE7tcAEEeic_M-KksGsuA" name="types" type="Reference" multiplicity="-1"/>
     </elements>
-    <elements xmi:id="_umc4C3X6Eeipp8d5W3Vl9g" name="TypeInstance" supertypes="_umc4DHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4DHX6Eeipp8d5W3Vl9g" name="ComputePropertyValueCommandItf"/>
-    <elements xmi:id="_umc4DXX6Eeipp8d5W3Vl9g" name="TypeRegistry">
-      <properties xmi:id="_umc4DnX6Eeipp8d5W3Vl9g" name="types" type="Reference" multiplicity="-1"/>
+    <elements xmi:id="_PEE7tsAEEeic_M-KksGsuA" name="StringToTypeMap">
+      <properties xmi:id="_PEE7t8AEEeic_M-KksGsuA" name="value" type="Reference"/>
+      <properties xmi:id="_PEE7uMAEEeic_M-KksGsuA" name="key"/>
     </elements>
-    <elements xmi:id="_umc4D3X6Eeipp8d5W3Vl9g" name="StringToTypeMap">
-      <properties xmi:id="_umc4EHX6Eeipp8d5W3Vl9g" name="value" type="Reference"/>
-      <properties xmi:id="_umc4EXX6Eeipp8d5W3Vl9g" name="key"/>
+    <elements xmi:id="_PEE7ucAEEeic_M-KksGsuA" name="LayerDescriptorRegistry">
+      <properties xmi:id="_PEE7usAEEeic_M-KksGsuA" name="layerDescriptors" type="Reference" multiplicity="-1"/>
     </elements>
-    <elements xmi:id="_umc4EnX6Eeipp8d5W3Vl9g" name="LayerDescriptorRegistry">
-      <properties xmi:id="_umc4E3X6Eeipp8d5W3Vl9g" name="layerDescriptors" type="Reference" multiplicity="-1"/>
+    <elements xmi:id="_PEE7u8AEEeic_M-KksGsuA" name="LayerDescriptor">
+      <properties xmi:id="_PEE7vMAEEeic_M-KksGsuA" name="propertyRegistry" type="Reference"/>
     </elements>
-    <elements xmi:id="_umc4FHX6Eeipp8d5W3Vl9g" name="LayerDescriptor">
-      <properties xmi:id="_umc4FXX6Eeipp8d5W3Vl9g" name="propertyRegistry" type="Reference"/>
+    <elements xmi:id="_PEE7vcAEEeic_M-KksGsuA" name="LayerApplicationFactory">
+      <properties xmi:id="_PEE7vsAEEeic_M-KksGsuA" name="application" type="Reference"/>
     </elements>
-    <elements xmi:id="_umc4FnX6Eeipp8d5W3Vl9g" name="LayerApplicationFactory">
-      <properties xmi:id="_umc4F3X6Eeipp8d5W3Vl9g" name="application" type="Reference"/>
+    <elements xmi:id="_PEE7v8AEEeic_M-KksGsuA" name="PropertySetterRegistry">
+      <properties xmi:id="_PEE7wMAEEeic_M-KksGsuA" name="propertySetters" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE7wcAEEeic_M-KksGsuA" name="setterMap" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE7wsAEEeic_M-KksGsuA" name="application" type="Reference"/>
     </elements>
-    <elements xmi:id="_umc4GHX6Eeipp8d5W3Vl9g" name="PropertySetterRegistry">
-      <properties xmi:id="_umc4GXX6Eeipp8d5W3Vl9g" name="propertySetters" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc4GnX6Eeipp8d5W3Vl9g" name="setterMap" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc4G3X6Eeipp8d5W3Vl9g" name="application" type="Reference"/>
+    <elements xmi:id="_PEE7w8AEEeic_M-KksGsuA" name="PropertySetter">
+      <properties xmi:id="_PEE7xMAEEeic_M-KksGsuA" name="property" type="Reference"/>
+      <properties xmi:id="_PEE7xcAEEeic_M-KksGsuA" name="propertyName"/>
     </elements>
-    <elements xmi:id="_umc4HHX6Eeipp8d5W3Vl9g" name="PropertySetter">
-      <properties xmi:id="_umc4HXX6Eeipp8d5W3Vl9g" name="property" type="Reference"/>
-      <properties xmi:id="_umc4HnX6Eeipp8d5W3Vl9g" name="propertyName"/>
+    <elements xmi:id="_PEE7xsAEEeic_M-KksGsuA" name="StringToPropertySetter">
+      <properties xmi:id="_PEE7x8AEEeic_M-KksGsuA" name="key"/>
+      <properties xmi:id="_PEE7yMAEEeic_M-KksGsuA" name="value" type="Reference"/>
     </elements>
-    <elements xmi:id="_umc4H3X6Eeipp8d5W3Vl9g" name="StringToPropertySetter">
-      <properties xmi:id="_umc4IHX6Eeipp8d5W3Vl9g" name="key"/>
-      <properties xmi:id="_umc4IXX6Eeipp8d5W3Vl9g" name="value" type="Reference"/>
+    <elements xmi:id="_PEE7ycAEEeic_M-KksGsuA" name="LayerOperatorDescriptorRegistry">
+      <properties xmi:id="_PEE7ysAEEeic_M-KksGsuA" name="descriptors" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE7y8AEEeic_M-KksGsuA" name="propertyOperators" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE7zMAEEeic_M-KksGsuA" name="propertyCollectionSize" type="Integer"/>
+      <properties xmi:id="_PEE7zcAEEeic_M-KksGsuA" name="defaultOperator" type="Reference"/>
     </elements>
-    <elements xmi:id="_umc4InX6Eeipp8d5W3Vl9g" name="LayerOperatorDescriptorRegistry">
-      <properties xmi:id="_umc4I3X6Eeipp8d5W3Vl9g" name="descriptors" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc4JHX6Eeipp8d5W3Vl9g" name="propertyOperators" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc4JXX6Eeipp8d5W3Vl9g" name="propertyCollectionSize" type="Integer"/>
-      <properties xmi:id="_umc4JnX6Eeipp8d5W3Vl9g" name="defaultOperator" type="Reference"/>
+    <elements xmi:id="_PEE7zsAEEeic_M-KksGsuA" name="LayerOperatorDescriptor">
+      <properties xmi:id="_PEE7z8AEEeic_M-KksGsuA" name="propertyOperators" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE70MAEEeic_M-KksGsuA" name="name"/>
     </elements>
-    <elements xmi:id="_umc4J3X6Eeipp8d5W3Vl9g" name="LayerOperatorDescriptor">
-      <properties xmi:id="_umc4KHX6Eeipp8d5W3Vl9g" name="propertyOperators" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc4KXX6Eeipp8d5W3Vl9g" name="name"/>
+    <elements xmi:id="_PEE70cAEEeic_M-KksGsuA" name="PropertyOperator">
+      <properties xmi:id="_PEE70sAEEeic_M-KksGsuA" name="name"/>
+      <properties xmi:id="_PEE708AEEeic_M-KksGsuA" name="classname"/>
+      <properties xmi:id="_PEE71MAEEeic_M-KksGsuA" name="operatorInstance" type="Reference"/>
+      <properties xmi:id="_PEE71cAEEeic_M-KksGsuA" name="classBundleID"/>
     </elements>
-    <elements xmi:id="_umc4KnX6Eeipp8d5W3Vl9g" name="PropertyOperator">
-      <properties xmi:id="_umc4K3X6Eeipp8d5W3Vl9g" name="name"/>
+    <elements xmi:id="_PEE71sAEEeic_M-KksGsuA" name="LayerOperator" supertypes="_PEE7kcAEEeic_M-KksGsuA _PEE72sAEEeic_M-KksGsuA">
+      <properties xmi:id="_PEE718AEEeic_M-KksGsuA" name="layers" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE72MAEEeic_M-KksGsuA" name="layerOperatorDescriptorName"/>
+      <properties xmi:id="_PEE72cAEEeic_M-KksGsuA" name="layerOperatorDescriptor" type="Reference"/>
     </elements>
-    <elements xmi:id="_umc4LHX6Eeipp8d5W3Vl9g" name="AbstractLayerOperator" supertypes="_umc4L3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4LXX6Eeipp8d5W3Vl9g" name="layerOperatorDescriptor" type="Reference"/>
-      <properties xmi:id="_umc4LnX6Eeipp8d5W3Vl9g" name="layerOperatorDescriptorName"/>
+    <elements xmi:id="_PEE72sAEEeic_M-KksGsuA" name="LayersContainer"/>
+    <elements xmi:id="_PEE728AEEeic_M-KksGsuA" name="AbstractLayer" supertypes="_PEE7kcAEEeic_M-KksGsuA">
+      <properties xmi:id="_PEE73MAEEeic_M-KksGsuA" name="propertyValues" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE73cAEEeic_M-KksGsuA" name="propertyValueMap" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE73sAEEeic_M-KksGsuA" name="layerDescriptor" type="Reference"/>
+      <properties xmi:id="_PEE738AEEeic_M-KksGsuA" name="views" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE74MAEEeic_M-KksGsuA" name="attachedProperties" type="Reference" multiplicity="-1"/>
     </elements>
-    <elements xmi:id="_umc4L3X6Eeipp8d5W3Vl9g" name="LayerOperator" supertypes="_umc34nX6Eeipp8d5W3Vl9g _umc4MXX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4MHX6Eeipp8d5W3Vl9g" name="layers" type="Reference" multiplicity="-1"/>
+    <elements xmi:id="_PEE74cAEEeic_M-KksGsuA" name="StringToTypeInstanceMap">
+      <properties xmi:id="_PEE74sAEEeic_M-KksGsuA" name="key"/>
+      <properties xmi:id="_PEE748AEEeic_M-KksGsuA" name="value" type="Reference"/>
     </elements>
-    <elements xmi:id="_umc4MXX6Eeipp8d5W3Vl9g" name="LayersContainer"/>
-    <elements xmi:id="_umc4MnX6Eeipp8d5W3Vl9g" name="DefaultPropertyOperator" supertypes="_umc4KnX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4M3X6Eeipp8d5W3Vl9g" name="AbstractLayer" supertypes="_umc34nX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4NHX6Eeipp8d5W3Vl9g" name="propertyValues" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc4NXX6Eeipp8d5W3Vl9g" name="propertyValueMap" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc4NnX6Eeipp8d5W3Vl9g" name="layerDescriptor" type="Reference"/>
-      <properties xmi:id="_umc4N3X6Eeipp8d5W3Vl9g" name="views" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc4OHX6Eeipp8d5W3Vl9g" name="attachedProperties" type="Reference" multiplicity="-1"/>
+    <elements xmi:id="_PEE75MAEEeic_M-KksGsuA" name="Folder" supertypes="_PEE7o8AEEeic_M-KksGsuA">
+      <properties xmi:id="_PEE75cAEEeic_M-KksGsuA" name="elements" type="Reference" multiplicity="-1"/>
+      <properties xmi:id="_PEE75sAEEeic_M-KksGsuA" name="name"/>
     </elements>
-    <elements xmi:id="_umc4OXX6Eeipp8d5W3Vl9g" name="StringToTypeInstanceMap">
-      <properties xmi:id="_umc4OnX6Eeipp8d5W3Vl9g" name="key"/>
-      <properties xmi:id="_umc4O3X6Eeipp8d5W3Vl9g" name="value" type="Reference"/>
+    <elements xmi:id="_PEE758AEEeic_M-KksGsuA" name="Metamodel" supertypes="_PEE7o8AEEeic_M-KksGsuA">
+      <properties xmi:id="_PEE76MAEEeic_M-KksGsuA" name="name"/>
+      <properties xmi:id="_PEFhQMAEEeic_M-KksGsuA" name="description"/>
+      <properties xmi:id="_PEFhQcAEEeic_M-KksGsuA" name="nsuri"/>
+      <properties xmi:id="_PEFhQsAEEeic_M-KksGsuA" name="pluginID"/>
+      <properties xmi:id="_PEFhQ8AEEeic_M-KksGsuA" name="ePackageInstanceName"/>
+      <properties xmi:id="_PEFhRMAEEeic_M-KksGsuA" name="isTypeValid" type="Boolean"/>
     </elements>
-    <elements xmi:id="_umc4PHX6Eeipp8d5W3Vl9g" name="Folder" supertypes="_umc39HX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4PXX6Eeipp8d5W3Vl9g" name="elements" type="Reference" multiplicity="-1"/>
-      <properties xmi:id="_umc4PnX6Eeipp8d5W3Vl9g" name="name"/>
+    <elements xmi:id="_PEFhRcAEEeic_M-KksGsuA" name="TopLayerOperator" supertypes="_PEE71sAEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhRsAEEeic_M-KksGsuA" name="StackedLayerOperator" supertypes="_PEE71sAEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhR8AEEeic_M-KksGsuA" name="PropertyIndex">
+      <properties xmi:id="_PEFhSMAEEeic_M-KksGsuA" name="property" type="Reference"/>
+      <properties xmi:id="_PEFhScAEEeic_M-KksGsuA" name="index" type="Integer"/>
     </elements>
-    <elements xmi:id="_umc4P3X6Eeipp8d5W3Vl9g" name="IntInstance" supertypes="_umc4C3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4QHX6Eeipp8d5W3Vl9g" name="value" type="Integer"/>
+    <elements xmi:id="_PEFhSsAEEeic_M-KksGsuA" name="StringToPropertyIndexMap">
+      <properties xmi:id="_PEFhS8AEEeic_M-KksGsuA" name="value" type="Reference"/>
+      <properties xmi:id="_PEFhTMAEEeic_M-KksGsuA" name="key"/>
     </elements>
-    <elements xmi:id="_umc4QXX6Eeipp8d5W3Vl9g" name="BooleanInstance" supertypes="_umc4C3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4QnX6Eeipp8d5W3Vl9g" name="value" type="Boolean"/>
+    <elements xmi:id="_PEFhTcAEEeic_M-KksGsuA" name="SimpleLayerDescriptor" supertypes="_PEE7u8AEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhTsAEEeic_M-KksGsuA" name="NullInstance" supertypes="_PEE7ssAEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhT8AEEeic_M-KksGsuA" name="Layer" supertypes="_PEE728AEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhUMAEEeic_M-KksGsuA" name="NullPropertySetter" supertypes="_PEE7w8AEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhUcAEEeic_M-KksGsuA" name="TopLayerOperatorDescriptor" supertypes="_PEE7zsAEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhUsAEEeic_M-KksGsuA" name="StackedLayerOperatorDescriptor" supertypes="_PEE7zsAEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhU8AEEeic_M-KksGsuA" name="AllViewsDerivedLayer" supertypes="_PEE728AEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhVMAEEeic_M-KksGsuA" name="CSSPropertySetter" supertypes="_PEE7w8AEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhVcAEEeic_M-KksGsuA" name="CSSType" supertypes="_PEE7r8AEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhVsAEEeic_M-KksGsuA" name="CSSInstance" supertypes="_PEE7ssAEEeic_M-KksGsuA">
+      <properties xmi:id="_PEFhV8AEEeic_M-KksGsuA" name="stylesheet" type="Reference"/>
+      <properties xmi:id="_PEFhWMAEEeic_M-KksGsuA" name="style"/>
     </elements>
-    <elements xmi:id="_umc4Q3X6Eeipp8d5W3Vl9g" name="StringInstance" supertypes="_umc4C3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4RHX6Eeipp8d5W3Vl9g" name="value"/>
-    </elements>
-    <elements xmi:id="_umc4RXX6Eeipp8d5W3Vl9g" name="IntType" supertypes="_umc4AHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4RnX6Eeipp8d5W3Vl9g" name="BooleanType" supertypes="_umc4AHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4R3X6Eeipp8d5W3Vl9g" name="StringType" supertypes="_umc4AHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4SHX6Eeipp8d5W3Vl9g" name="CustomType" supertypes="_umc4AHX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4SXX6Eeipp8d5W3Vl9g" name="classifier"/>
-    </elements>
-    <elements xmi:id="_umc4SnX6Eeipp8d5W3Vl9g" name="TopLayerOperator" supertypes="_umc4LHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4S3X6Eeipp8d5W3Vl9g" name="StackedLayerOperator" supertypes="_umc4LHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4THX6Eeipp8d5W3Vl9g" name="CustomLayerOperator" supertypes="_umc4L3X6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4TXX6Eeipp8d5W3Vl9g" name="PropertyIndex">
-      <properties xmi:id="_umc4TnX6Eeipp8d5W3Vl9g" name="property" type="Reference"/>
-      <properties xmi:id="_umc4T3X6Eeipp8d5W3Vl9g" name="index" type="Integer"/>
-    </elements>
-    <elements xmi:id="_umc4UHX6Eeipp8d5W3Vl9g" name="StringToPropertyIndexMap">
-      <properties xmi:id="_umc4UXX6Eeipp8d5W3Vl9g" name="value" type="Reference"/>
-      <properties xmi:id="_umc4UnX6Eeipp8d5W3Vl9g" name="key"/>
-    </elements>
-    <elements xmi:id="_umc4U3X6Eeipp8d5W3Vl9g" name="SimpleLayerDescriptor" supertypes="_umc4FHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4VHX6Eeipp8d5W3Vl9g" name="RegExpLayerDescriptor" supertypes="_umc4FHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4VXX6Eeipp8d5W3Vl9g" name="NullInstance" supertypes="_umc4C3X6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4VnX6Eeipp8d5W3Vl9g" name="RegExpLayer" supertypes="_umc4M3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4V3X6Eeipp8d5W3Vl9g" name="expr"/>
-      <properties xmi:id="_umc4WHX6Eeipp8d5W3Vl9g" name="language"/>
-      <properties xmi:id="_umc4WXX6Eeipp8d5W3Vl9g" name="isDomainChangedEventDependant" type="Boolean"/>
-      <properties xmi:id="_umc4WnX6Eeipp8d5W3Vl9g" name="domainChangedEventLevel" type="Enumeration"/>
-      <properties xmi:id="_umc4W3X6Eeipp8d5W3Vl9g" name="isDiagramChangedEventDependant" type="Boolean"/>
-      <properties xmi:id="_umc4XHX6Eeipp8d5W3Vl9g" name="diagramChangedEventLevel" type="Enumeration"/>
-      <properties xmi:id="_umc4XXX6Eeipp8d5W3Vl9g" name="expressionContextObjectType"/>
-    </elements>
-    <elements xmi:id="_umc4XnX6Eeipp8d5W3Vl9g" name="Layer" supertypes="_umc4M3X6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4X3X6Eeipp8d5W3Vl9g" name="Color" supertypes="_umc4AHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4YHX6Eeipp8d5W3Vl9g" name="ColorInstance" supertypes="_umc4C3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4YXX6Eeipp8d5W3Vl9g" name="value" type="Integer"/>
-    </elements>
-    <elements xmi:id="_umc4YnX6Eeipp8d5W3Vl9g" name="FillInstance" supertypes="_umc4C3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4Y3X6Eeipp8d5W3Vl9g" name="transparency" type="Integer"/>
-      <properties xmi:id="_umc4ZHX6Eeipp8d5W3Vl9g" name="fillColor" type="Reference"/>
-    </elements>
-    <elements xmi:id="_umc4ZXX6Eeipp8d5W3Vl9g" name="Fill" supertypes="_umc4AHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4ZnX6Eeipp8d5W3Vl9g" name="FillPropertySetter" supertypes="_umc4HHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4Z3X6Eeipp8d5W3Vl9g" name="IsValidPropertySetter" supertypes="_umc4HHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4aHX6Eeipp8d5W3Vl9g" name="NullPropertySetter" supertypes="_umc4HHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4aXX6Eeipp8d5W3Vl9g" name="LineType" supertypes="_umc4AHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4anX6Eeipp8d5W3Vl9g" name="LineInstance" supertypes="_umc4C3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4a3X6Eeipp8d5W3Vl9g" name="lineColor" type="Integer"/>
-      <properties xmi:id="_umc4bHX6Eeipp8d5W3Vl9g" name="lineWith" type="Integer"/>
-    </elements>
-    <elements xmi:id="_umc4bXX6Eeipp8d5W3Vl9g" name="LinePropertySetter" supertypes="_umc4HHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4bnX6Eeipp8d5W3Vl9g" name="FontPropertySetter" supertypes="_umc4HHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4b3X6Eeipp8d5W3Vl9g" name="FontInstance" supertypes="_umc4C3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4cHX6Eeipp8d5W3Vl9g" name="fontColor" type="Integer"/>
-      <properties xmi:id="_umc4cXX6Eeipp8d5W3Vl9g" name="fontName"/>
-      <properties xmi:id="_umc4cnX6Eeipp8d5W3Vl9g" name="fontHeigh" type="Integer"/>
-      <properties xmi:id="_umc4c3X6Eeipp8d5W3Vl9g" name="bold" type="Boolean"/>
-    </elements>
-    <elements xmi:id="_umc4dHX6Eeipp8d5W3Vl9g" name="FontType" supertypes="_umc4AHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4dXX6Eeipp8d5W3Vl9g" name="IsVisiblePropertySetter" supertypes="_umc4HHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4dnX6Eeipp8d5W3Vl9g" name="TopLayerOperatorDescriptor" supertypes="_umc4J3X6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4d3X6Eeipp8d5W3Vl9g" name="StackedLayerOperatorDescriptor" supertypes="_umc4J3X6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4eHX6Eeipp8d5W3Vl9g" name="CustomPropertyOperator" supertypes="_umc4KnX6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4eXX6Eeipp8d5W3Vl9g" name="classname"/>
-      <properties xmi:id="_umc4enX6Eeipp8d5W3Vl9g" name="operatorInstance"/>
-      <properties xmi:id="_umc4e3X6Eeipp8d5W3Vl9g" name="classBundleID"/>
-    </elements>
-    <elements xmi:id="_umc4fHX6Eeipp8d5W3Vl9g" name="AndStackedLayerOperatorDescriptor" supertypes="_umc4d3X6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4fXX6Eeipp8d5W3Vl9g" name="OrStackedLayerOperatorDescriptor" supertypes="_umc4d3X6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4fnX6Eeipp8d5W3Vl9g" name="IsAbstractUmlSetter" supertypes="_umc4HHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4f3X6Eeipp8d5W3Vl9g" name="AllViewsDerivedLayer" supertypes="_umc4M3X6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4gHX6Eeipp8d5W3Vl9g" name="CSSPropertySetter" supertypes="_umc4HHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4gXX6Eeipp8d5W3Vl9g" name="CSSType" supertypes="_umc4AHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4gnX6Eeipp8d5W3Vl9g" name="CSSInstance" supertypes="_umc4C3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4g3X6Eeipp8d5W3Vl9g" name="stylesheet" type="Reference"/>
-      <properties xmi:id="_umc4hHX6Eeipp8d5W3Vl9g" name="style"/>
-    </elements>
-    <elements xmi:id="_umc4hXX6Eeipp8d5W3Vl9g" name="CSSHidePropertySetter" supertypes="_umc4HHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4hnX6Eeipp8d5W3Vl9g" name="CSSHideType" supertypes="_umc4AHX6Eeipp8d5W3Vl9g"/>
-    <elements xmi:id="_umc4h3X6Eeipp8d5W3Vl9g" name="CSSHideInstance" supertypes="_umc4C3X6Eeipp8d5W3Vl9g">
-      <properties xmi:id="_umc4iHX6Eeipp8d5W3Vl9g" name="stylesheet" type="Reference"/>
-      <properties xmi:id="_umc4iXX6Eeipp8d5W3Vl9g" name="style"/>
+    <elements xmi:id="_PEFhWcAEEeic_M-KksGsuA" name="CSSHidePropertySetter" supertypes="_PEE7w8AEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhWsAEEeic_M-KksGsuA" name="CSSHideType" supertypes="_PEE7r8AEEeic_M-KksGsuA"/>
+    <elements xmi:id="_PEFhW8AEEeic_M-KksGsuA" name="CSSHideInstance" supertypes="_PEE7ssAEEeic_M-KksGsuA">
+      <properties xmi:id="_PEFhXMAEEeic_M-KksGsuA" name="stylesheet" type="Reference"/>
+      <properties xmi:id="_PEFhXcAEEeic_M-KksGsuA" name="style"/>
     </elements>
     <modelElementFactory href="ppe:/environment/org.eclipse.papyrus.infra.properties.ui/model/Environment.xmi#//@modelElementFactories.0"/>
   </dataContexts>
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAbstractLayer.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAbstractLayer.xwt
index e1205ec..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAbstractLayer.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAbstractLayer.xwt
@@ -1,33 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:views"></ppe:MultiReference>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:attachedProperties"></ppe:MultiReference>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAbstractLayerOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAbstractLayerOperator.xwt
deleted file mode 100755
index 4901a7b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAbstractLayerOperator.xwt
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAllViewsDerivedLayer.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAllViewsDerivedLayer.xwt
index e1205ec..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAllViewsDerivedLayer.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAllViewsDerivedLayer.xwt
@@ -1,33 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:views"></ppe:MultiReference>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:attachedProperties"></ppe:MultiReference>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAndStackedLayerOperatorDescriptor.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAndStackedLayerOperatorDescriptor.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleAndStackedLayerOperatorDescriptor.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleBooleanInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleBooleanInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleBooleanInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleBooleanType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleBooleanType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleBooleanType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCSSHideInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCSSHideInstance.xwt
index f1ae432..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCSSHideInstance.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCSSHideInstance.xwt
@@ -1,24 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:CSSHideInstance:style"></ppe:StringEditor>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:CSSHideInstance:stylesheet"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCSSInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCSSInstance.xwt
index 9fb21b0..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCSSInstance.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCSSInstance.xwt
@@ -1,24 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:CSSInstance:style"></ppe:StringEditor>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:CSSInstance:stylesheet"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleColor.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleColor.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleColor.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleColorInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleColorInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleColorInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCustomLayerOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCustomLayerOperator.xwt
deleted file mode 100755
index 4901a7b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCustomLayerOperator.xwt
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCustomPropertyOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCustomPropertyOperator.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCustomPropertyOperator.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCustomType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCustomType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleCustomType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleDefaultPropertyOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleDefaultPropertyOperator.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleDefaultPropertyOperator.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFill.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFill.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFill.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFillInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFillInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFillInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFillPropertySetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFillPropertySetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFillPropertySetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFontInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFontInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFontInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFontPropertySetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFontPropertySetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFontPropertySetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFontType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFontType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleFontType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIntInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIntInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIntInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIntType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIntType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIntType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIsAbstractUmlSetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIsAbstractUmlSetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIsAbstractUmlSetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIsValidPropertySetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIsValidPropertySetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIsValidPropertySetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIsVisiblePropertySetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIsVisiblePropertySetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleIsVisiblePropertySetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayer.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayer.xwt
index e1205ec..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayer.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayer.xwt
@@ -1,33 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:views"></ppe:MultiReference>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:attachedProperties"></ppe:MultiReference>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerExpression.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerExpression.xwt
index 4901a7b..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerExpression.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerExpression.xwt
@@ -1,24 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerNamedStyle.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerNamedStyle.xwt
index bef4ff0..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerNamedStyle.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerNamedStyle.xwt
@@ -1,17 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:LayerNamedStyle:layersStack"></ppe:MultiReference>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerOperator.xwt
index 4901a7b..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerOperator.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayerOperator.xwt
@@ -1,24 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayersStack.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayersStack.xwt
index 3067cc2..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayersStack.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLayersStack.xwt
@@ -1,35 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:LayersStack:name"></ppe:StringEditor>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:LayersStack:description"></ppe:StringEditor>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:EnumCombo input="{Binding}"
-			property="layers:LayersStack:state"></ppe:EnumCombo>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayersStack:layers"></ppe:ReferenceDialog>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayersStack:diagram"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLineInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLineInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLineInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLinePropertySetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLinePropertySetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLinePropertySetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLineType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLineType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleLineType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleOrStackedLayerOperatorDescriptor.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleOrStackedLayerOperatorDescriptor.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleOrStackedLayerOperatorDescriptor.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleProperty.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleProperty.xwt
index bc5fdec..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleProperty.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleProperty.xwt
@@ -1,26 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:Property:name"></ppe:StringEditor>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:Property:description"></ppe:StringEditor>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:Property:type"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleRegExpLayer.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleRegExpLayer.xwt
deleted file mode 100755
index e1205ec..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleRegExpLayer.xwt
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:views"></ppe:MultiReference>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:attachedProperties"></ppe:MultiReference>
-	</Composite>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleRegExpLayerDescriptor.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleRegExpLayerDescriptor.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleRegExpLayerDescriptor.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleStackedLayerOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleStackedLayerOperator.xwt
index 4901a7b..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleStackedLayerOperator.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleStackedLayerOperator.xwt
@@ -1,24 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleStringInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleStringInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleStringInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleStringType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleStringType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleStringType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleTopLayerOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleTopLayerOperator.xwt
index 4901a7b..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleTopLayerOperator.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/MultipleTopLayerOperator.xwt
@@ -1,24 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAbstractLayer.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAbstractLayer.xwt
index c2af238..c168735 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAbstractLayer.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAbstractLayer.xwt
@@ -27,16 +27,7 @@
 		<Composite.layout>
 			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
 		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
 		<ppe:MultiReference input="{Binding}"
 			property="layers:AbstractLayer:views"></ppe:MultiReference>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:attachedProperties"></ppe:MultiReference>
 	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAbstractLayerOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAbstractLayerOperator.xwt
deleted file mode 100755
index c2db308..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAbstractLayerOperator.xwt
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:LayerExpression:name"></ppe:StringEditor>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:LayerExpression:description"></ppe:StringEditor>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAllViewsDerivedLayer.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAllViewsDerivedLayer.xwt
index c2af238..c168735 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAllViewsDerivedLayer.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAllViewsDerivedLayer.xwt
@@ -27,16 +27,7 @@
 		<Composite.layout>
 			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
 		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
 		<ppe:MultiReference input="{Binding}"
 			property="layers:AbstractLayer:views"></ppe:MultiReference>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:attachedProperties"></ppe:MultiReference>
 	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAndStackedLayerOperatorDescriptor.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAndStackedLayerOperatorDescriptor.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleAndStackedLayerOperatorDescriptor.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleBooleanInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleBooleanInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleBooleanInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleBooleanType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleBooleanType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleBooleanType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleColor.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleColor.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleColor.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleColorInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleColorInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleColorInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleCustomLayerOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleCustomLayerOperator.xwt
deleted file mode 100755
index c2db308..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleCustomLayerOperator.xwt
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:LayerExpression:name"></ppe:StringEditor>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:LayerExpression:description"></ppe:StringEditor>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleCustomPropertyOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleCustomPropertyOperator.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleCustomPropertyOperator.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleCustomType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleCustomType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleCustomType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleDefaultPropertyOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleDefaultPropertyOperator.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleDefaultPropertyOperator.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFill.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFill.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFill.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFillInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFillInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFillInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFillPropertySetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFillPropertySetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFillPropertySetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFontInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFontInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFontInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFontPropertySetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFontPropertySetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFontPropertySetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFontType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFontType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleFontType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIntInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIntInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIntInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIntType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIntType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIntType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIsAbstractUmlSetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIsAbstractUmlSetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIsAbstractUmlSetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIsValidPropertySetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIsValidPropertySetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIsValidPropertySetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIsVisiblePropertySetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIsVisiblePropertySetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleIsVisiblePropertySetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayer.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayer.xwt
index c2af238..c168735 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayer.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayer.xwt
@@ -27,16 +27,7 @@
 		<Composite.layout>
 			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
 		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
 		<ppe:MultiReference input="{Binding}"
 			property="layers:AbstractLayer:views"></ppe:MultiReference>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:attachedProperties"></ppe:MultiReference>
 	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerExpression.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerExpression.xwt
index c2db308..48f7c9f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerExpression.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerExpression.xwt
@@ -23,11 +23,4 @@
 		<ppe:BooleanRadio input="{Binding}"
 			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
 	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerNamedStyle.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerNamedStyle.xwt
index bef4ff0..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerNamedStyle.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerNamedStyle.xwt
@@ -1,17 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:LayerNamedStyle:layersStack"></ppe:MultiReference>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerOperator.xwt
index c2db308..48f7c9f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerOperator.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayerOperator.xwt
@@ -23,11 +23,4 @@
 		<ppe:BooleanRadio input="{Binding}"
 			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
 	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayersStack.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayersStack.xwt
index 3067cc2..593ff87 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayersStack.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLayersStack.xwt
@@ -28,8 +28,6 @@
 			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
 		</Composite.layout>
 		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayersStack:layers"></ppe:ReferenceDialog>
-		<ppe:ReferenceDialog input="{Binding}"
 			property="layers:LayersStack:diagram"></ppe:ReferenceDialog>
 	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLineInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLineInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLineInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLinePropertySetter.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLinePropertySetter.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLinePropertySetter.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLineType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLineType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleLineType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleOrStackedLayerOperatorDescriptor.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleOrStackedLayerOperatorDescriptor.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleOrStackedLayerOperatorDescriptor.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleProperty.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleProperty.xwt
index bc5fdec..e29bdbb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleProperty.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleProperty.xwt
@@ -1,26 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Composite xmlns="http://www.eclipse.org/xwt/presentation"
 	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
 	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
 	xmlns:x="http://www.eclipse.org/xwt">
 	<Composite.layout>
 		<ppel:PropertiesLayout></ppel:PropertiesLayout>
 	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:Property:name"></ppe:StringEditor>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:Property:description"></ppe:StringEditor>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:Property:type"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleRegExpLayer.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleRegExpLayer.xwt
deleted file mode 100755
index c2af238..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleRegExpLayer.xwt
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppe="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:LayerExpression:name"></ppe:StringEditor>
-		<ppe:StringEditor input="{Binding}"
-			property="layers:LayerExpression:description"></ppe:StringEditor>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:views"></ppe:MultiReference>
-		<ppe:MultiReference input="{Binding}"
-			property="layers:AbstractLayer:attachedProperties"></ppe:MultiReference>
-	</Composite>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleRegExpLayerDescriptor.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleRegExpLayerDescriptor.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleRegExpLayerDescriptor.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleStackedLayerOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleStackedLayerOperator.xwt
index c2db308..48f7c9f 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleStackedLayerOperator.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleStackedLayerOperator.xwt
@@ -23,11 +23,4 @@
 		<ppe:BooleanRadio input="{Binding}"
 			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
 	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleStringInstance.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleStringInstance.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleStringInstance.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleStringType.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleStringType.xwt
deleted file mode 100755
index e29bdbb..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleStringType.xwt
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Composite xmlns="http://www.eclipse.org/xwt/presentation"
-	xmlns:j="clr-namespace:java.lang"
-	xmlns:ppel="clr-namespace:org.eclipse.papyrus.infra.properties.ui.widgets.layout"
-	xmlns:x="http://www.eclipse.org/xwt">
-	<Composite.layout>
-		<ppel:PropertiesLayout></ppel:PropertiesLayout>
-	</Composite.layout>
-</Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleTopLayerOperator.xwt b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleTopLayerOperator.xwt
index c2db308..4252fe9 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleTopLayerOperator.xwt
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/properties/ui/SingleTopLayerOperator.xwt
@@ -16,18 +16,4 @@
 		<ppe:StringEditor input="{Binding}"
 			property="layers:LayerExpression:description"></ppe:StringEditor>
 	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="2"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:BooleanRadio input="{Binding}"
-			property="layers:LayerExpression:isLayerEnabled"></ppe:BooleanRadio>
-	</Composite>
-	<Composite>
-		<Composite.layout>
-			<ppel:PropertiesLayout numColumns="1"></ppel:PropertiesLayout>
-		</Composite.layout>
-		<ppe:ReferenceDialog input="{Binding}"
-			property="layers:LayerExpression:owningLayersStack"></ppe:ReferenceDialog>
-	</Composite>
 </Composite>
\ No newline at end of file
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/commands/CreateLayerOperatorsFromParameter.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/commands/CreateLayerOperatorsFromParameter.java
index baeeb03..ec406eb 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/commands/CreateLayerOperatorsFromParameter.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/commands/CreateLayerOperatorsFromParameter.java
@@ -20,7 +20,6 @@
 import org.eclipse.papyrus.infra.core.services.ServiceException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.LayersException;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.NotFoundException;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.AbstractLayerOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerOperator;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
@@ -113,7 +112,7 @@
 		}
 
 		// Create a layer !
-		AbstractLayerOperator layerOperator;
+		LayerOperator layerOperator;
 		try {
 			layerOperator = application.getLayerOperatorDescriptorRegistry().createLayerOperator(newLayerID);
 			layerOperator.setName("layer" + creationCount++);
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/commands/DeletePropertyCommand.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/commands/DeletePropertyCommand.java
index 3b76623..8ebe2e4 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/commands/DeletePropertyCommand.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/commands/DeletePropertyCommand.java
@@ -75,8 +75,14 @@
 		try {
 			LayersStackApplication layerStackApplication = lookupLayersStackApplicationChecked(context);
 			List<LayersStack> layerStacks = layerStackApplication.getLayersStacks();
-			LayerExpression topLayerExpression = (layerStacks.get(0).getLayers());
-			TopLayerOperator topLayerOperator = topLayerExpression instanceof TopLayerOperator ? (TopLayerOperator) topLayerExpression : null;
+			TopLayerOperator topLayerOperator = null;
+			for (LayersStack layerStack : layerStacks) {
+				topLayerOperator = layerStack.getLayers() instanceof TopLayerOperator ? (TopLayerOperator) layerStack.getLayers() : null;
+				if (null == topLayerOperator || topLayerOperator.getLayers().isEmpty()) {
+					continue;
+				}
+			}
+
 			if (null == topLayerOperator) {
 				return;
 			}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/explorer/LayerExplorerPageBookView.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/explorer/LayerExplorerPageBookView.java
index 16e4ab7..8efff09 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/explorer/LayerExplorerPageBookView.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/explorer/LayerExplorerPageBookView.java
@@ -82,7 +82,7 @@
 			URI uri = URI.createURI(uriAttribute);
 			IViewPart viewPart = getActiveView();
 			if (viewPart instanceof ModelExplorerView) {
-				LayersExplorerView modelExplorerView = (LayersExplorerView) viewPart;
+				// LayersExplorerView modelExplorerView = (LayersExplorerView) viewPart;
 				// EditingDomain domain = modelExplorerView.getEditingDomain();
 				// EObject eObject = domain.getResourceSet().getEObject(uri, false);
 				// if(eObject != null) {
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/explorer/LayersExplorerView.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/explorer/LayersExplorerView.java
deleted file mode 100755
index 35e582b..0000000
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/explorer/LayersExplorerView.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.ui.explorer;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-
-
-/**
- * @author dumoulin
- *
- */
-public class LayersExplorerView extends ViewPart {
-
-	@Override
-	public void createPartControl(Composite parent) {
-		// TODO Auto-generated method stub
-
-	}
-
-	@Override
-	public void setFocus() {
-		// TODO Auto-generated method stub
-
-	}
-
-
-}
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/handlers/CreateRegExpLayerHandler.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/handlers/CreateRegExpLayerHandler.java
index 5c741ef..6c95cc6 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/handlers/CreateRegExpLayerHandler.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/handlers/CreateRegExpLayerHandler.java
@@ -1,50 +1,50 @@
-/*******************************************************************************
- * Copyright (c) 2013 CEA LIST.
- * 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:
- *     Cedric Dumoulin - cedric.dumoulin@lifl.fr
- ******************************************************************************/
-package org.eclipse.papyrus.internal.infra.gmfdiag.layers.ui.handlers;
-
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer;
-
-
-/**
- * Create a layer stack to a diagram.
- * This is performed on the current LayerStack Viewer.
- *
- * @author cedric dumoulin
- *
- */
-public class CreateRegExpLayerHandler extends
-		AbstractCreateLayerExpressionHandler implements IHandler {
-
-
-	/**
-	 * @see org.eclipse.papyrus.layers2.ui.view.commands.AbstractLayerCommand#getCommandName()
-	 *
-	 * @return
-	 */
-	@Override
-	public String getCommandName() {
-		return "Create RegExp Layer";
-	}
-
-
-	/**
-	 * @return
-	 */
-	@Override
-	protected LayerExpression createLayer() {
-		RegExpLayer layer = LayersFactory.eINSTANCE.createRegExpLayer();
-		return layer;
-	}
-
-}
+/// *******************************************************************************
+// * Copyright (c) 2013 CEA LIST.
+// * 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:
+// * Cedric Dumoulin - cedric.dumoulin@lifl.fr
+// ******************************************************************************/
+// package org.eclipse.papyrus.internal.infra.gmfdiag.layers.ui.handlers;
+//
+// import org.eclipse.core.commands.IHandler;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayerExpression;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersFactory;
+// import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.RegExpLayer;
+//
+//
+/// **
+// * Create a layer stack to a diagram.
+// * This is performed on the current LayerStack Viewer.
+// *
+// * @author cedric dumoulin
+// *
+// */
+// public class CreateRegExpLayerHandler extends
+// AbstractCreateLayerExpressionHandler implements IHandler {
+//
+//
+// /**
+// * @see org.eclipse.papyrus.layers2.ui.view.commands.AbstractLayerCommand#getCommandName()
+// *
+// * @return
+// */
+// @Override
+// public String getCommandName() {
+// return "Create RegExp Layer";
+// }
+//
+//
+// /**
+// * @return
+// */
+// @Override
+// protected LayerExpression createLayer() {
+// RegExpLayer layer = LayersFactory.eINSTANCE.createRegExpLayer();
+// return layer;
+// }
+//
+// }
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/view/LayersExplorerView.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/view/LayersExplorerView.java
index a42a616..10e08c1 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/view/LayersExplorerView.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/view/LayersExplorerView.java
@@ -10,8 +10,7 @@
  ******************************************************************************/
 package org.eclipse.papyrus.internal.infra.gmfdiag.layers.ui.view;
 
-import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.ui.Activator.log;
-
+import static org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.Activator.log;
 import javax.imageio.spi.ServiceRegistry;
 
 import org.eclipse.emf.common.notify.Notification;
@@ -43,7 +42,6 @@
 import org.eclipse.papyrus.infra.core.services.ServiceException;
 import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
 import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
-import org.eclipse.papyrus.infra.ui.util.ServiceUtilsForWorkbenchPage;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStack;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.LayersStackApplication;
 import org.eclipse.papyrus.internal.infra.gmfdiag.layers.runtime.ILayersStackApplicationEventListener;
@@ -149,8 +147,9 @@
 
 		@Override
 		public void widgetDisposed(DisposeEvent e) {
-			log.info(this.getClass().getName() + " is disposed !!!" + e.widget);
-
+			if (log.isDebugEnabled()) {
+				log.info(this.getClass().getName() + " is disposed !!!" + e.widget);
+			}
 		}
 	};
 
@@ -520,7 +519,9 @@
 
 		ServicesRegistry registry = editor.getAdapter(ServicesRegistry.class);
 		if (registry == null) {
-			log.info("New editor has no ServiceRegistry");
+			if (log.isDebugEnabled()) {
+				log.info("New editor has no ServiceRegistry");
+			}
 			setEmptyTreeInput();
 			return;
 		}
@@ -649,7 +650,6 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
-	 * @generated NOT
 	 */
 	protected void createContextMenuFor(StructuredViewer viewer) {
 		MenuManager contextMenu = new MenuManager("#PopUp");
@@ -702,7 +702,9 @@
 
 			// Bad state
 			// FIXME Log error ?
-			log.info("Error - " + getClass().getSimpleName() + " - currentLayersModel and currentServicesRegistry should not be null.");
+			if (log.isDebugEnabled()) {
+				log.info("Error - " + getClass().getSimpleName() + " - currentLayersModel and currentServicesRegistry should not be null.");
+			}
 			return null;
 		}
 
diff --git a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/view/LayersTreeViewerFactory.java b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/view/LayersTreeViewerFactory.java
index be8a5fe..2521caf 100755
--- a/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/view/LayersTreeViewerFactory.java
+++ b/layers/plugins/org.eclipse.papyrus.infra.gmfdiag.layers.ui/src/org/eclipse/papyrus/internal/infra/gmfdiag/layers/ui/view/LayersTreeViewerFactory.java
@@ -22,10 +22,12 @@
 import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.viewers.StructuredViewer;
 import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.LayersItemProviderAdapterFactory;
+import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom.CustomLayersItemProviderAdapterFactory;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Menu;
 import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom.*;
+//import org.eclipse.papyrus.internal.infra.gmfdiag.layers.model.layers.provider.custom.*;
 
 
 /**