Merge branch 'master' into bugfix
diff --git a/devtools/org.eclipse.emf.parsley.oomph/EMFParsley.setup b/devtools/org.eclipse.emf.parsley.oomph/EMFParsley.setup
index ce1df93..99fe979 100644
--- a/devtools/org.eclipse.emf.parsley.oomph/EMFParsley.setup
+++ b/devtools/org.eclipse.emf.parsley.oomph/EMFParsley.setup
@@ -251,11 +251,11 @@
     </setupTask>
     <setupTask
         xsi:type="setup.p2:P2Task"
-        label="B3 Aggregator">
+        label="CBI Aggregator">
       <requirement
-          name="org.eclipse.b3.aggregator.editor.feature.feature.group"/>
+          name="org.eclipse.cbi.p2repo.aggregator.editor.feature.feature.group"/>
       <repository
-          url="http://download.eclipse.org/modeling/emft/b3/updates-4.4"/>
+          url="http://download.eclipse.org/cbi/updates/aggregator/ide/4.6/"/>
     </setupTask>
     <setupTask
         xsi:type="setup.p2:P2Task"
@@ -367,7 +367,7 @@
         <requirement
             name="org.eclipse.xtext.xdoc.feature.feature.group"/>
         <repository
-            url="http://sourceforge.net/projects/xtext-xdoc/files/updates-2.7"/>
+            url="https://dl.bintray.com/lorenzobettini/xtext-xdoc/updates/"/>
         <repository
             url="${xtext.site}"/>
         <repository
@@ -386,7 +386,40 @@
         </predicate>
       </sourceLocator>
       <sourceLocator
-          rootFolder="${git.clone.location}/tests/org.eclipse.emf.parsley.tests.pde.utils.luna"/>
+          rootFolder="${git.clone.location}/dsl"
+          locateNestedProjects="true"/>
+      <sourceLocator
+          rootFolder="${git.clone.location}/features">
+        <predicate
+            xsi:type="predicates:NotPredicate">
+          <operand
+              xsi:type="predicates:NamePredicate"
+              pattern=".*\.*rap.*"/>
+        </predicate>
+      </sourceLocator>
+      <sourceLocator
+          rootFolder="${git.clone.location}/plugins">
+        <predicate
+            xsi:type="predicates:NotPredicate">
+          <operand
+              xsi:type="predicates:NamePredicate"
+              pattern=".*\.*rap.*"/>
+        </predicate>
+      </sourceLocator>
+      <sourceLocator
+          rootFolder="${git.clone.location}/examples">
+        <predicate
+            xsi:type="predicates:NotPredicate">
+          <operand
+              xsi:type="predicates:NamePredicate"
+              pattern=".*\.*rap.*"/>
+        </predicate>
+      </sourceLocator>
+      <sourceLocator
+          rootFolder="${git.clone.location}/tests">
+        <excludedPath>org.eclipse.emf.parsley.tests.pde.utils.kepler</excludedPath>
+        <excludedPath>org.eclipse.emf.parsley.tests.pde.utils.indigo</excludedPath>
+      </sourceLocator>
     </setupTask>
     <setupTask
         xsi:type="setup.targlets:TargletTask">
@@ -447,7 +480,7 @@
           <repository
               url="http://download.eclipse.org/technology/swtbot/releases/latest/"/>
           <repository
-              url="http://sourceforge.net/projects/xtext-xdoc/files/updates-2.7"/>
+              url="https://dl.bintray.com/lorenzobettini/xtext-xdoc/updates/"/>
           <repository
               url="${orbit.site}"/>
         </repositoryList>
@@ -466,7 +499,7 @@
           <repository
               url="http://download.eclipse.org/technology/swtbot/releases/latest/"/>
           <repository
-              url="http://sourceforge.net/projects/xtext-xdoc/files/updates-2.7"/>
+              url="https://dl.bintray.com/lorenzobettini/xtext-xdoc/updates/"/>
           <repository
               url="${orbit.site}"/>
         </repositoryList>
@@ -483,7 +516,7 @@
           <repository
               url="${mwe2.site}"/>
           <repository
-              url="http://sourceforge.net/projects/xtext-xdoc/files/updates-2.7"/>
+              url="https://dl.bintray.com/lorenzobettini/xtext-xdoc/updates/"/>
           <repository
               url="${orbit.site}"/>
         </repositoryList>
@@ -501,6 +534,23 @@
           <repository
               url="http://download.eclipse.org/cbi/updates/license"/>
         </repositoryList>
+        <repositoryList
+            name="Oxygen">
+          <repository
+              url="http://download.eclipse.org/staging/oxygen/"/>
+          <repository
+              url="http://download.eclipse.org/cbi/updates/license"/>
+          <repository
+              url="http://download.itemis.com/updates/releases/2.1.1/"/>
+          <repository
+              url="${xtext.site}"/>
+          <repository
+              url="${mwe2.site}"/>
+          <repository
+              url="https://dl.bintray.com/lorenzobettini/xtext-xdoc/updates/"/>
+          <repository
+              url="${orbit.site}"/>
+        </repositoryList>
       </targlet>
     </setupTask>
     <setupTask
@@ -697,13 +747,13 @@
       </setupTask>
     </stream>
     <stream
-        name="neon-simrel"
-        label="Neon-Simrel">
+        name="oxygen-simrel"
+        label="Oxygen-Simrel">
       <setupTask
           xsi:type="setup:VariableTask"
           name="eclipse.target.platform"
-          value="Neon"
-          defaultValue="Neon"
+          value="Oxygen"
+          defaultValue="Oxygen"
           storageURI="scope://Workspace"/>
       <setupTask
           xsi:type="setup.p2:P2Task"
@@ -712,7 +762,7 @@
           licenseConfirmationDisabled="true">
         <requirement
             name="org.eclipse.xtext.sdk.feature.group"
-            versionRange="[2.10.0,2.11.0)"/>
+            versionRange="[2.11.0,2.12.0)"/>
         <requirement
             name="de.itemis.xtext.antlr.feature.feature.group"/>
         <repository
@@ -723,7 +773,15 @@
             url="http://download.itemis.com/updates/releases/2.1.1/"/>
         <description>Xtext &amp; Xtend</description>
       </setupTask>
-      <description>Branch for Simrel for Neon</description>
+      <setupTask
+          xsi:type="setup:VariableTask"
+          name="mwe2.site"
+          value="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.9.0"/>
+      <setupTask
+          xsi:type="setup:VariableTask"
+          name="xtext.site"
+          value="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.11.0"/>
+      <description>Branch for Simrel for Oxygen</description>
     </stream>
     <description>EMF Parsley version for RCP</description>
   </project>
@@ -799,6 +857,23 @@
           <repository
               url="${mwe2.site}"/>
         </repositoryList>
+        <repositoryList
+            name="Oxygen">
+          <repository
+              url="http://download.eclipse.org/staging/oxygen/"/>
+          <repository
+              url="http://download.eclipse.org/cbi/updates/license"/>
+          <repository
+              url="http://download.itemis.com/updates/releases/2.1.1/"/>
+          <repository
+              url="${xtext.site}"/>
+          <repository
+              url="${mwe2.site}"/>
+          <repository
+              url="https://dl.bintray.com/lorenzobettini/xtext-xdoc/updates/"/>
+          <repository
+              url="${orbit.site}"/>
+        </repositoryList>
       </targlet>
     </setupTask>
     <setupTask
@@ -958,15 +1033,23 @@
       <description></description>
     </stream>
     <stream
-        name="neon-simrel"
-        label="Neon-Simrel">
+        name="oxygen-simrel"
+        label="Oxygen-Simrel">
       <setupTask
           xsi:type="setup:VariableTask"
           name="eclipse.target.platform"
-          value="Neon"
-          defaultValue="Neon"
+          value="Oxygen"
+          defaultValue="Oxygen"
           storageURI="scope://Workspace"/>
-      <description>Branch for Simrel for Neon</description>
+      <setupTask
+          xsi:type="setup:VariableTask"
+          name="mwe2.site"
+          value="http://download.eclipse.org/staging/oxygen/"/>
+      <setupTask
+          xsi:type="setup:VariableTask"
+          name="xtext.site"
+          value="http://download.eclipse.org/staging/oxygen/"/>
+      <description>Branch for Simrel for Oxygen</description>
     </stream>
     <description>EMF Parsley version for RAP</description>
   </project>
diff --git a/devtools/org.eclipse.emf.parsley.rap.workspace/feature.xml b/devtools/org.eclipse.emf.parsley.rap.workspace/feature.xml
index 3776f02..7e16803 100644
--- a/devtools/org.eclipse.emf.parsley.rap.workspace/feature.xml
+++ b/devtools/org.eclipse.emf.parsley.rap.workspace/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.rap.workspace"
       label="EMF Parsley RAP Workspace"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="%providerName">
 
    <description url="http://www.eclipse.org/emfparsley">
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/pom.xml b/devtools/org.eclipse.emf.parsley.targetplatform/pom.xml
index ad0ea27..d9214c1 100644
--- a/devtools/org.eclipse.emf.parsley.targetplatform/pom.xml
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.targetplatform</artifactId>
diff --git a/devtools/org.eclipse.emf.parsley.workspace/feature.xml b/devtools/org.eclipse.emf.parsley.workspace/feature.xml
index 9dc4ace..8e5fbcb 100644
--- a/devtools/org.eclipse.emf.parsley.workspace/feature.xml
+++ b/devtools/org.eclipse.emf.parsley.workspace/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.workspace"
       label="EMF Parsley Workspace"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="%providerName">
 
    <description url="http://www.eclipse.org/emfparsley">
@@ -17,184 +17,12 @@
       %license
    </license>
 
-   <includes
-         id="org.eclipse.emf.parsley.tests.swtbot.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.parsley.tests.swtbot.cdo.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.parsley.examples.mail.product.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.parsley.examples.cdo.product.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.parsley.examples.eclipse4.product.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.parsley.cdo.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.parsley.dsl.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.parsley.examples.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.parsley.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.parsley.sdk"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.ui.examples"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.tests.swtbot"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.tests.swtbot.cdo"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.tests.models"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.cdo.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.examples.firstexample"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.dsl.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.examples.library.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.examples.cdo.company.app"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.examples.cdo.company.model"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.examples.cdo.company.ui.customers"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.examples.cdo.company.ui.orders"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.examples.cdo.company.ui.products"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.dev.doc"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.dsl.standalone.lib"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.dsl.standalone"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.tests.swtbot.e4"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.tests.swtbot.examples"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.parsley.dsl.ui.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
+   <requires>
+      <import feature="org.eclipse.xtext.sdk" version="2.10.0" match="equivalent"/>
+      <import feature="org.eclipse.swtbot.eclipse" version="2.5.0"/>
+      <import feature="org.eclipse.swtbot.ide" version="2.5.0"/>
+      <import plugin="org.mockito"/>
+      <import plugin="org.hamcrest"/>
+   </requires>
 
 </feature>
diff --git a/doc/org.eclipse.emf.parsley.dev.doc/META-INF/MANIFEST.MF b/doc/org.eclipse.emf.parsley.dev.doc/META-INF/MANIFEST.MF
index 1012034..2d1ea69 100644
--- a/doc/org.eclipse.emf.parsley.dev.doc/META-INF/MANIFEST.MF
+++ b/doc/org.eclipse.emf.parsley.dev.doc/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.dev.doc
 Bundle-SymbolicName: org.eclipse.emf.parsley.dev.doc;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.help;bundle-version="3.5.0",
  org.eclipse.xtext.xdoc.generator;bundle-version="0.1.0";resolution:=optional,
diff --git a/doc/org.eclipse.emf.parsley.doc.websitegen/META-INF/MANIFEST.MF b/doc/org.eclipse.emf.parsley.doc.websitegen/META-INF/MANIFEST.MF
index 2cc089e..b08baa7 100644
--- a/doc/org.eclipse.emf.parsley.doc.websitegen/META-INF/MANIFEST.MF
+++ b/doc/org.eclipse.emf.parsley.doc.websitegen/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Generator
 Bundle-SymbolicName: org.eclipse.emf.parsley.doc.website.generator
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Require-Bundle: org.eclipse.xtend.lib;bundle-version="2.6.0",
  com.google.guava;bundle-version="[10.0.1,16.0.0)",
  org.eclipse.xtext.xbase.lib,
diff --git a/doc/org.eclipse.emf.parsley.doc/META-INF/MANIFEST.MF b/doc/org.eclipse.emf.parsley.doc/META-INF/MANIFEST.MF
index 588ecc3..bf4eb19 100644
--- a/doc/org.eclipse.emf.parsley.doc/META-INF/MANIFEST.MF
+++ b/doc/org.eclipse.emf.parsley.doc/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.doc
 Bundle-SymbolicName: org.eclipse.emf.parsley.doc;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.help;bundle-version="3.5.0",
  org.eclipse.emf.parsley;resolution:=optional,
diff --git a/doc/org.eclipse.emf.parsley.doc/contents/02-FirstExample.html b/doc/org.eclipse.emf.parsley.doc/contents/02-FirstExample.html
index ed6f13f..260ca2b 100644
--- a/doc/org.eclipse.emf.parsley.doc/contents/02-FirstExample.html
+++ b/doc/org.eclipse.emf.parsley.doc/contents/02-FirstExample.html
@@ -63,7 +63,7 @@
 		select "File" -&gt; "New" -&gt; "Project..."
 	</li>
 	<li>
-		from the "Emf Parsley" category select "Emf Parsley Dsl based Project"
+		from the "EMF Parsley" category select "EMF Parsley Dsl based Project"
 			
 			<div class="image" >
 		<img src="images/01-new-project-dsl-wizard.png" class=" " 
@@ -119,7 +119,7 @@
 <p class="code">
 <span class="keyword">import</span>&nbsp;org.eclipse.emf.parsley.examples.firstexample.FirstexampleSaveableTreeFormView<br/>
 <br/>
-<span class="comment">/*&nbsp;org.eclipse.emf.parsley.examples.firstexample&nbsp;Emf&nbsp;Parsley&nbsp;Dsl&nbsp;Module&nbsp;file&nbsp;*/</span><br/>
+<span class="comment">/*&nbsp;org.eclipse.emf.parsley.examples.firstexample&nbsp;EMF&nbsp;Parsley&nbsp;Dsl&nbsp;Module&nbsp;file&nbsp;*/</span><br/>
 <span class="keyword">module</span>&nbsp;org.eclipse.emf.parsley.examples.firstexample&nbsp;{<br/>
 &nbsp;&nbsp;&nbsp;&nbsp;<br/>
 &nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">parts</span>&nbsp;{<br/>
@@ -211,8 +211,8 @@
 </p>
 <p>
 Let&apos;s focus on the above <em>resourceURI</em>: our goal is allowing to manage 
-a library model instance which persists on a EMF <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>.
-So we must specify the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/common/util/URI.html" title="View JavaDoc"><abbr title="org.eclipse.emf.common.util.URI" >URI</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.common/src/org/eclipse/emf/common/util/URI.java" title="View Source Code" >(src)</a> of the resource
+a library model instance which persists on a EMF <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>.
+So we must specify the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/common/util/URI.html" title="View JavaDoc"><abbr title="org.eclipse.emf.common.util.URI" >URI</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.common/src/org/eclipse/emf/common/util/URI.java" title="View Source Code" >(src)</a> of the resource
 that will be edited by our tree form view.
 In this example we choose to use the EMF default persistence (XMI), but you can provide any URI 
 (e.g. using Teneo, CDO or any other EMF Resource Persistence implementation)
@@ -240,7 +240,7 @@
 If you simply copy and paste the above return statement, you&apos;ll get an error about
 unresolvable Java type URI; "Organize Imports" context menu (or its shortcut "Ctrl+Shift+O")
 can be used to automatically add the missing import (make sure you select
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/common/util/URI.html" title="View JavaDoc"><abbr title="org.eclipse.emf.common.util.URI" >URI</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.common/src/org/eclipse/emf/common/util/URI.java" title="View Source Code" >(src)</a>).
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/common/util/URI.html" title="View JavaDoc"><abbr title="org.eclipse.emf.common.util.URI" >URI</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.common/src/org/eclipse/emf/common/util/URI.java" title="View Source Code" >(src)</a>).
 </p>
 <p>
 Note that the specified URI, will be used for loading the resource only for our specific
@@ -278,7 +278,7 @@
 </p>
 <p>
 Now we can implement the <em>initializeResource</em> method
-(as described in the comment, the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>
+(as described in the comment, the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>
 to initialized is available through the parameter <em>it</em>); the Library object
 is created using the standard EMF API: we need the factory of the library model:
 </p>
@@ -684,15 +684,15 @@
 </p>
 <p>
 Such a strategy for editing is delegated to an injected
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/IEditingStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.IEditingStrategy" >IEditingStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/IEditingStrategy.java" title="View Source Code" >(src)</a>, which is
-implemented by default by <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/OnTheFlyEditingStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.OnTheFlyEditingStrategy" >OnTheFlyEditingStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/OnTheFlyEditingStrategy.java" title="View Source Code" >(src)</a>.
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/IEditingStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.IEditingStrategy" >IEditingStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/IEditingStrategy.java" title="View Source Code" >(src)</a>, which is
+implemented by default by <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/OnTheFlyEditingStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.OnTheFlyEditingStrategy" >OnTheFlyEditingStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/OnTheFlyEditingStrategy.java" title="View Source Code" >(src)</a>.
 </p>
 <p>
 One may want to avoid this automatic update of the resource, and
 have the changes applied only when the "OK" dialog button is pressed
 (if "Cancel" is pressed, no changes should be applied at all).
 To achieve this behavior, it is enough to bind the alternative implementation
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/UndoableEditingStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.UndoableEditingStrategy" >UndoableEditingStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/UndoableEditingStrategy.java" title="View Source Code" >(src)</a>, in the Guice module.
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/UndoableEditingStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.UndoableEditingStrategy" >UndoableEditingStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/UndoableEditingStrategy.java" title="View Source Code" >(src)</a>, in the Guice module.
 This can be achieved in the DSL using the <em>binding</em> section
 (Guice bindings are detailed in section <a href="06-Customization.html#GuiceBindings" title="Go to &quot;Dependency Injection With Google Guice&quot;">Guice Bindings</a>):
 </p>
diff --git a/doc/org.eclipse.emf.parsley.doc/contents/05-Components.html b/doc/org.eclipse.emf.parsley.doc/contents/05-Components.html
index 5017984..c7a9d3a 100644
--- a/doc/org.eclipse.emf.parsley.doc/contents/05-Components.html
+++ b/doc/org.eclipse.emf.parsley.doc/contents/05-Components.html
@@ -17,14 +17,14 @@
 </p>
 <p>
 Components and viewers have to be created using the factories we provide
-(e.g., for viewers we provide <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/viewers/ViewerFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.viewers.ViewerFactory" >ViewerFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/viewers/ViewerFactory.java" title="View Source Code" >(src)</a>);
+(e.g., for viewers we provide <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/viewers/ViewerFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.viewers.ViewerFactory" >ViewerFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/viewers/ViewerFactory.java" title="View Source Code" >(src)</a>);
 such factories provide specific <em>create</em> methods that require all the needed parameters.
 These factories must be injected.
 </p>
 <a name="FormComponent"></a>
 <h2>Form Component</h2>
 <p>
-The <em>Form Component</em> can be used to rapresent an <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EObject" >EObject</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java" title="View Source Code" >(src)</a> in a form,
+The <em>Form Component</em> can be used to rapresent an <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EObject.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EObject" >EObject</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java" title="View Source Code" >(src)</a> in a form,
 like in the image above.
 </p>
 <p>
@@ -54,8 +54,8 @@
 </div>
 </p>
 <p>
-Most of the job is done by the second line of code, which gets the list of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a> defined
-for the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a>
+Most of the job is done by the second line of code, which gets the list of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a> defined
+for the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a>
 (that is the type of the object to represent) and builds a row for each of them. Each row is composed
 by a <em>caption</em> which defaults to the name of the feature and a <em>control</em> to access the data. 
 </p>
@@ -138,7 +138,7 @@
 <h3>Adding Menu</h3>
 <p>
 The contextual menu can be added to the viewer via an injected
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper" >ViewerContextMenuHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.java" title="View Source Code" >(src)</a>, as explained in the <a href="06-Customization.html#ContextualMenu" title="Go to &quot;Contextual Menu&quot;">Menu section</a>.
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper" >ViewerContextMenuHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.java" title="View Source Code" >(src)</a>, as explained in the <a href="06-Customization.html#ContextualMenu" title="Go to &quot;Contextual Menu&quot;">Menu section</a>.
 The <a href="06-Customization.html#MenuBuilder" title="Go to &quot;Menu Builder&quot;">Menu Builder</a> allows to fully customize the menus.
 </p>
 <a name="TreeFormComponent"></a>
@@ -182,7 +182,7 @@
 <p>
 The <em>Table Component</em> can rapresent data in a grid, once you have specified the type of objects to represent. 
 It uses metamodel information to build columns as needed, and a
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a> to retrieve
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a> to retrieve
 the contents of the specified type (see also <a href="06-Customization.html#TableViewerContentProvider" title="Go to &quot;Table Viewer Content Provider&quot;" >section TableViewerContentProvider</a>).
 </p>
 <p>
@@ -207,10 +207,10 @@
 </div>
 </p>
 <p>
-The class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/viewers/TableViewerColumnBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.viewers.TableViewerColumnBuilder" >TableViewerColumnBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/viewers/TableViewerColumnBuilder.java" title="View Source Code" >(src)</a> has the responsibility to
+The class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/viewers/TableViewerColumnBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.viewers.TableViewerColumnBuilder" >TableViewerColumnBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/viewers/TableViewerColumnBuilder.java" title="View Source Code" >(src)</a> has the responsibility to
 build the columns of the Table, by using the <a href="06-Customization.html#FeaturesProvider" title="Go to &quot;Features Provider&quot;">Features Provider</a> to get the list
 of features and the <a href="06-Customization.html#FeatureCaptionProvider" title="Go to &quot;Feature Caption Provider&quot;">Feature Caption Provider</a> for the column headers.
-The class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/TableColumnLabelProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.TableColumnLabelProvider" >TableColumnLabelProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/TableColumnLabelProvider.java" title="View Source Code" >(src)</a> can be used to specify
+The class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/TableColumnLabelProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.TableColumnLabelProvider" >TableColumnLabelProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/TableColumnLabelProvider.java" title="View Source Code" >(src)</a> can be used to specify
 an implementation of ILabelProvider for each cell in the table. 
 </p>
 <a name="Table_features"></a>
@@ -245,24 +245,24 @@
 <h3>Adding Menu</h3>
 <p>
 The contextual menu can be added to the viewer via an injected
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper" >ViewerContextMenuHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.java" title="View Source Code" >(src)</a>, as explained in the <a href="06-Customization.html#ContextualMenu" title="Go to &quot;Contextual Menu&quot;">Menu section</a>.
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper" >ViewerContextMenuHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.java" title="View Source Code" >(src)</a>, as explained in the <a href="06-Customization.html#ContextualMenu" title="Go to &quot;Contextual Menu&quot;">Menu section</a>.
 The <a href="06-Customization.html#MenuBuilder" title="Go to &quot;Menu Builder&quot;">Menu Builder</a> allows to fully customize the menus.
 </p>
 <a name="TreeWithColumnsComponent"></a>
 <h2>Tree With Columns Component</h2>
 <p>
 The <em>Tree With Columns Component</em> provides a tree representation just like <a href="05-Components.html#TreeComponent" title="Go to &quot;Tree Component&quot;">Tree Component</a>,
-but it also shows table columns representing the features of the specified <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a>.
+but it also shows table columns representing the features of the specified <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a>.
 </p>
 <p>
-IMPORTANT: the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> is used to retrieve the features to be shown, and
+IMPORTANT: the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> is used to retrieve the features to be shown, and
 NOT to filter elements to be shown (as opposite to the <a href="05-Components.html#TableComponent" title="Go to &quot;Table Component&quot;">Table Component</a>).  If a given
 row in the tree represents an object whose class does not have the feature for a given column, then the
 corresponding table cell for that object will be empty.
 </p>
 <p>
 For example, the following screenshot shows a tree with columns representing a library; the specified
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> is the <em>Writer</em> so the columns show the features of the
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> is the <em>Writer</em> so the columns show the features of the
 <em>Writer</em>&apos;s class.  Some of these features, e.g., <em>address</em>, <em>firstName</em> and <em>lastName</em>, are defined
 in the superclasses of <em>Writer</em>.  The objects of class <em>Employee</em> have these features as well, while
 they don&apos;t have features that are specific of <em>Writer</em>, e.g., <em>name</em> and <em>books</em>, thus the corresponding
diff --git a/doc/org.eclipse.emf.parsley.doc/contents/06-Customization.html b/doc/org.eclipse.emf.parsley.doc/contents/06-Customization.html
index 2ea603f..0740b56 100644
--- a/doc/org.eclipse.emf.parsley.doc/contents/06-Customization.html
+++ b/doc/org.eclipse.emf.parsley.doc/contents/06-Customization.html
@@ -25,18 +25,18 @@
 need to override it, but you will also need to add the <em>@Inject</em> annotation explicitly.
 </p>
 <p>
-Although one can specify any Guice <a class="jdoc" href="http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Module.html" title="View JavaDoc"><abbr title="com.google.inject.Module" >Module</abbr></a>, <em>EMF Parsley</em> ships with
+Although one can specify any Guice <a class="jdoc" href="https://google.github.io/guice/api-docs/latest/javadoc/com/google/inject/Module.html" title="View JavaDoc"><abbr title="com.google.inject.Module" >Module</abbr></a>, <em>EMF Parsley</em> ships with
 some default base class modules that should be used for specifying custom
 Guice bindings.  The default base class is
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/EmfParsleyGuiceModule.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.EmfParsleyGuiceModule" >EmfParsleyGuiceModule</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/EmfParsleyGuiceModule.java" title="View Source Code" >(src)</a> that is suitable to be used
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/EmfParsleyGuiceModule.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.EmfParsleyGuiceModule" >EmfParsleyGuiceModule</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/EmfParsleyGuiceModule.java" title="View Source Code" >(src)</a> that is suitable to be used
 in an OSGI environment, like Eclipse itself or RAP (see also <a href="AdvancedFeatures.html#AdvancedFeatures" title="Go to &quot;Advanced Features&quot;">Eclipse 4.x &amp; RAP</a>).
 Our project wizards will automatically use such module as the base class.
 For CDO we have a specialized base module.
 </p>
 <p>
 We also have a module to be used in a non OSGI environment, e.g., a pure Java environment:
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/EmfParsleyJavaGuiceModule.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.EmfParsleyJavaGuiceModule" >EmfParsleyJavaGuiceModule</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/EmfParsleyJavaGuiceModule.java" title="View Source Code" >(src)</a> (this is the base class of
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/EmfParsleyGuiceModule.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.EmfParsleyGuiceModule" >EmfParsleyGuiceModule</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/EmfParsleyGuiceModule.java" title="View Source Code" >(src)</a>).  This is useful also for
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/EmfParsleyJavaGuiceModule.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.EmfParsleyJavaGuiceModule" >EmfParsleyJavaGuiceModule</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/EmfParsleyJavaGuiceModule.java" title="View Source Code" >(src)</a> (this is the base class of
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/EmfParsleyGuiceModule.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.EmfParsleyGuiceModule" >EmfParsleyGuiceModule</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/EmfParsleyGuiceModule.java" title="View Source Code" >(src)</a>).  This is useful also for
 testing purposes, for writing plain Junit tests (i.e., not Plug-in Junit tests).
 This is also used in our testing framework (see <a href="AdvancedFeatures.html#Testing" title="Go to &quot;Testing Framework&quot;">EMF Parsley Testing Framework</a>).
 </p>
@@ -56,7 +56,7 @@
 <p>
 For example, when some code wants to use a label provider,
 it just declares a field (or method or constructor) and adds the
-<a class="jdoc" href="http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Inject.html" title="View JavaDoc"><abbr title="com.google.inject.Inject" >@Inject</abbr></a> annotation:
+<a class="jdoc" href="https://google.github.io/guice/api-docs/latest/javadoc/com/google/inject/Inject.html" title="View JavaDoc"><abbr title="com.google.inject.Inject" >@Inject</abbr></a> annotation:
 </p>
 <p>
 <div class="literallayout">
@@ -84,7 +84,7 @@
 </p>
 <p>
 Guice of course needs to know how to instantiate real objects for declared dependencies.
-This is done in so called Modules. A <a class="jdoc" href="http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Module.html" title="View JavaDoc"><abbr title="com.google.inject.Module" >Module</abbr></a>
+This is done in so called Modules. A <a class="jdoc" href="https://google.github.io/guice/api-docs/latest/javadoc/com/google/inject/Module.html" title="View JavaDoc"><abbr title="com.google.inject.Module" >Module</abbr></a>
 defines a set of mappings from types to either existing instances,
 instance providers or concrete classes.
 Modules are implemented in Java. Here&apos;s an example:
@@ -107,7 +107,7 @@
 </p>
 <p>
 With plain Guice modules one implements a method called configure and gets a
-<a class="jdoc" href="http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Binder.html" title="View JavaDoc"><abbr title="com.google.inject.Binder" >Binder</abbr></a> passed in.
+<a class="jdoc" href="https://google.github.io/guice/api-docs/latest/javadoc/com/google/inject/Binder.html" title="View JavaDoc"><abbr title="com.google.inject.Binder" >Binder</abbr></a> passed in.
 That binder provides a fluent API to define the mentioned mappings.
 This was just a very brief and simplified description.
 We highly recommend to have a look at the <a href="https://github.com/google/guice">Google Guice</a>
@@ -123,11 +123,11 @@
 <p>
 The enhancement we added to Guice&apos;s Module API is that we provide an abstract base class,
 which reflectively looks for certain methods in order to find declared bindings.
-The standard base class is <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/EmfParsleyGuiceModule.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.EmfParsleyGuiceModule" >EmfParsleyGuiceModule</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/EmfParsleyGuiceModule.java" title="View Source Code" >(src)</a>,
+The standard base class is <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/EmfParsleyGuiceModule.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.EmfParsleyGuiceModule" >EmfParsleyGuiceModule</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/EmfParsleyGuiceModule.java" title="View Source Code" >(src)</a>,
 which can be used in a standard Eclipse OSGI environment.  If you are using
 CDO, it is better to use as base class <em>CDOEmfParsleyModule</em>, which has defaults
 that better fit a CDO environment.  If you do not need OSGI, you can use
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/EmfParsleyJavaGuiceModule.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.EmfParsleyJavaGuiceModule" >EmfParsleyJavaGuiceModule</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/EmfParsleyJavaGuiceModule.java" title="View Source Code" >(src)</a> (e.g., to run tests
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/EmfParsleyJavaGuiceModule.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.EmfParsleyJavaGuiceModule" >EmfParsleyJavaGuiceModule</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/EmfParsleyJavaGuiceModule.java" title="View Source Code" >(src)</a> (e.g., to run tests
 with plain Junit, see also <a href="AdvancedFeatures.html#Testing" title="Go to &quot;Testing Framework&quot;">Testing Framework</a>).
 </p>
 <p>
@@ -153,7 +153,7 @@
 <p>
 There are two additional kinds of binding-methods supported.
 The first one allows to configure a provider.
-A <a class="jdoc" href="http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Provider.html" title="View JavaDoc"><abbr title="com.google.inject.Provider" >Provider</abbr></a> is an interface with just one method:
+A <a class="jdoc" href="https://google.github.io/guice/api-docs/latest/javadoc/com/google/inject/Provider.html" title="View JavaDoc"><abbr title="com.google.inject.Provider" >Provider</abbr></a> is an interface with just one method:
 </p>
 <p>
 <div class="literallayout">
@@ -306,7 +306,7 @@
 and injecting it in the spefic module by overriding <em>bindILabelProvider</em>.
 </p>
 <p>
-<em>EMF Parsley</em> provides such a base implementation with the class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/ViewerLabelProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.ViewerLabelProvider" >ViewerLabelProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/ViewerLabelProvider.java" title="View Source Code" >(src)</a>
+<em>EMF Parsley</em> provides such a base implementation with the class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/ViewerLabelProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.ViewerLabelProvider" >ViewerLabelProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/ViewerLabelProvider.java" title="View Source Code" >(src)</a>
 that is meant to be subclassed by the programmer to provide specific implementations like in the example below.
 Our label provider also implements <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/IFontProvider.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.IFontProvider" >IFontProvider</abbr></a> and
 <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/IColorProvider.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.IColorProvider" >IColorProvider</abbr></a>, so that you can customize also the font, the foreground
@@ -392,7 +392,7 @@
 <p>
 The developer can also provide a specific implementation of <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/IContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.IContentProvider" >IContentProvider</abbr></a>
 by injecting it in the spefic module <em>(TODO)</em>. EMF Parsley provides a base implementation with the class
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.ViewerContentProvider" >ViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.java" title="View Source Code" >(src)</a> that can be easily used to
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.ViewerContentProvider" >ViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.java" title="View Source Code" >(src)</a> that can be easily used to
 specify the children of all object on the tree, like in the example below (again, this uses the polymorphic dispatch idiom).
 </p>
 <p>
@@ -437,25 +437,25 @@
 (no children are needed for tables).
 </p>
 <p>
-This content provider, <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>,
-must be configured with the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> of the objects that
+This content provider, <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>,
+must be configured with the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> of the objects that
 will be shown in the table, so the <em>setEClass</em> must be called before this content provider is
 used.  This setup is already automatically performed in views that are shipped with Parsley; in
 case you need to setup a table viewer yourself with this content provider, we strongly suggest
-you inject a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProviderFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProviderFactory" >TableViewerContentProviderFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProviderFactory.java" title="View Source Code" >(src)</a>
+you inject a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProviderFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProviderFactory" >TableViewerContentProviderFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProviderFactory.java" title="View Source Code" >(src)</a>
 and use its method <em>createTableViewerContentProvider(EClass type)</em>.
 </p>
 <p>
-With the information about the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> this content provider
-is able to automatically retrieve all the contents of that type from a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>
-or any <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EObject" >EObject</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java" title="View Source Code" >(src)</a>, by retrieving inspecting all the containment
+With the information about the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> this content provider
+is able to automatically retrieve all the contents of that type from a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>
+or any <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EObject.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EObject" >EObject</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java" title="View Source Code" >(src)</a>, by retrieving inspecting all the containment
 references of that type, recursively in the model.
 </p>
 <p>
 In case you want to optimize the retrieval of contents, or in case you want to
-show elements of the specified type which are not contained in an <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EObject" >EObject</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java" title="View Source Code" >(src)</a>
+show elements of the specified type which are not contained in an <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EObject.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EObject" >EObject</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java" title="View Source Code" >(src)</a>
 (because they are references with containment set to false), you can inject your own
-custom <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>
+custom <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>
 and define <em>elements</em> methods (again, this uses the polymorphic dispatch idiom).
 </p>
 <p>
@@ -484,8 +484,8 @@
 </div>
 </p>
 <p>
-IMPORTANT: customizations specified in a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.ViewerContentProvider" >ViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.java" title="View Source Code" >(src)</a>
-will NOT be reused by a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>.
+IMPORTANT: customizations specified in a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.ViewerContentProvider" >ViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/ViewerContentProvider.java" title="View Source Code" >(src)</a>
+will NOT be reused by a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>.
 </p>
 <a name="TableLabelProvider"></a>
 <h3>Table Label Provider</h3>
@@ -575,18 +575,18 @@
 </p>
 <p>
 When the framework builds components according to the
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a>s of a given
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> it relies on an injected
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider" >FeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>.
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a>s of a given
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> it relies on an injected
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider" >FeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>.
 The default behavior is to simply return all the features of the a given EClass,
 in the order they are defined in the EClass, as implemented by the method <em>defaultFeatures</em> in 
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider" >FeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>.
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider" >FeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>.
 </p>
 <p>
 You can set the mappings, i.e., specify the structural
 features you want to be used given an EClass, by implementing
 the method <em>buildMap</em>, which receives the
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.EClassToEStructuralFeatureMap.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider.EClassToEStructuralFeatureMap" >FeaturesProvider.EClassToEStructuralFeatureMap</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.EClassToEStructuralFeatureMap.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider.EClassToEStructuralFeatureMap" >FeaturesProvider.EClassToEStructuralFeatureMap</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>
 that can be filled with the method <em>mapTo</em>; 
 for instance, using the EMF extended library
 example, this customization will return only the <em>name</em> and <em>address</em> features
@@ -619,26 +619,26 @@
 </p>
 <p>
 Another possibility is to build a map which relies on Strings
-both for the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> and for
-the list of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a>;
-note that the name of the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> should
+both for the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> and for
+the list of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a>;
+note that the name of the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> should
 be obtained by using <em>getInstanceClassName()</em>; you can also
 combine the two approaches.
 </p>
 <a name="TableFeaturesProvider"></a>
 <h4>Table Features Provider</h4>
 <p>
-As an extension, you can use the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/TableFeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.TableFeaturesProvider" >TableFeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/TableFeaturesProvider.java" title="View Source Code" >(src)</a>:
+As an extension, you can use the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/TableFeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.TableFeaturesProvider" >TableFeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/TableFeaturesProvider.java" title="View Source Code" >(src)</a>:
 the customizations will be applied only to <a href="05-Components.html#TableComponent" title="Go to &quot;Table Component&quot;">Tables</a>, not to <a href="05-Components.html#FormComponent" title="Go to &quot;Form Component&quot;">Forms</a>.
 </p>
 <p>
-If there are no specific customization in the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/TableFeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.TableFeaturesProvider" >TableFeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/TableFeaturesProvider.java" title="View Source Code" >(src)</a>,
-we fall back to <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider" >FeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>.
+If there are no specific customization in the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/TableFeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.TableFeaturesProvider" >TableFeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/TableFeaturesProvider.java" title="View Source Code" >(src)</a>,
+we fall back to <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider" >FeaturesProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeaturesProvider.java" title="View Source Code" >(src)</a>.
 </p>
 <a name="FeatureCaptionProvider"></a>
 <h3>Feature Caption Provider</h3>
 <p>
-The <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeatureCaptionProvider" >FeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.java" title="View Source Code" >(src)</a> provides captions for
+The <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeatureCaptionProvider" >FeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.java" title="View Source Code" >(src)</a> provides captions for
 the features in <a href="05-Components.html#TableComponent" title="Go to &quot;Table Component&quot;">Tables</a> and <a href="05-Components.html#FormComponent" title="Go to &quot;Form Component&quot;">Forms</a>.
 Here you can see an example of the DSL.
 </p>
@@ -658,7 +658,7 @@
 </p>
 <p>
 If you want to customize it in Java, you need to derive from
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeatureCaptionProvider" >FeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.java" title="View Source Code" >(src)</a>.
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeatureCaptionProvider" >FeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.java" title="View Source Code" >(src)</a>.
 It can be customized, with injection <a href="06-Customization.html#GuiceBindings" title="Go to &quot;Dependency Injection With Google Guice&quot;" >section GuiceBindings</a>: this
 way you can customize the caption label for controls in a form, dialog, and the headers in a table&apos;s column.
 The framework uses a polimorphic mechanism to find customizations: it searches for
@@ -693,8 +693,8 @@
 <a name="FormFeatureCaptionProvider"></a>
 <h4>Form and Dialog Feature Caption Provider</h4>
 <p>
-The <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FormFeatureCaptionProvider" >FormFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.java" title="View Source Code" >(src)</a>
-(<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.DialogFeatureCaptionProvider" >DialogFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.java" title="View Source Code" >(src)</a>, respectively)
+The <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FormFeatureCaptionProvider" >FormFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.java" title="View Source Code" >(src)</a>
+(<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.DialogFeatureCaptionProvider" >DialogFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.java" title="View Source Code" >(src)</a>, respectively)
 can be used if you want to define the description only for forms (for dialogs, respectively).
 For example using the <a href="05-Components.html#TreeFormComponent" title="Go to &quot;Tree Form Component&quot;">Tree Form</a> your definition will not be used in the tree.
 </p>
@@ -746,18 +746,18 @@
 </div>
 </p>
 <p>
-If there is no customization in the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FormFeatureCaptionProvider" >FormFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.java" title="View Source Code" >(src)</a>
-(<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.DialogFeatureCaptionProvider" >DialogFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.java" title="View Source Code" >(src)</a>, respectively),
+If there is no customization in the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FormFeatureCaptionProvider" >FormFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.java" title="View Source Code" >(src)</a>
+(<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.DialogFeatureCaptionProvider" >DialogFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.java" title="View Source Code" >(src)</a>, respectively),
 the following steps are executed to create the text for the label:
 </p>
 <p>
 <ul>
 	<li>
-		we take possible customizations from <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeatureCaptionProvider" >FeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.java" title="View Source Code" >(src)</a>
+		we take possible customizations from <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FeatureCaptionProvider" >FeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FeatureCaptionProvider.java" title="View Source Code" >(src)</a>
 		if available, otherwise:
 	</li>
 	<li>
-		we take the text from <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/edit/provider/IItemPropertyDescriptor.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.provider.IItemPropertyDescriptor" >IItemPropertyDescriptor</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/provider/IItemPropertyDescriptor.java" title="View Source Code" >(src)</a> if
+		we take the text from <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/edit/provider/IItemPropertyDescriptor.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.provider.IItemPropertyDescriptor" >IItemPropertyDescriptor</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/provider/IItemPropertyDescriptor.java" title="View Source Code" >(src)</a> if
 		the EObject provides it, otherwise:
 	</li>
 	<li>
@@ -793,7 +793,7 @@
 </div>
 
  
-This customization can be done also in Java, by extending the class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/composite/ProposalCreator.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.composite.ProposalCreator" >ProposalCreator</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/composite/ProposalCreator.java" title="View Source Code" >(src)</a>
+This customization can be done also in Java, by extending the class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/composite/ProposalCreator.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.composite.ProposalCreator" >ProposalCreator</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/composite/ProposalCreator.java" title="View Source Code" >(src)</a>
 and implementing the method <span class="inlinecode"><span class="keyword">public</span>&nbsp;List&lt;?&gt;&nbsp;proposals_Book_author(Book&nbsp;book)&nbsp;{...}</span>.  This
 method follows the same convention on the signature name as explained in <a href="06-Customization.html#FeatureCaptionProvider" title="Go to &quot;Feature Caption Provider&quot;">Feature
 Provider</a>.
@@ -802,7 +802,7 @@
 <h2>Contextual Menu</h2>
 <p>
 A context menu can be added to any <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StructuredViewer.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.StructuredViewer" >StructuredViewer</abbr></a> by using an
-injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper" >ViewerContextMenuHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.java" title="View Source Code" >(src)</a>. This provides some
+injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper" >ViewerContextMenuHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.java" title="View Source Code" >(src)</a>. This provides some
 methods for adding the context menu
 </p>
 <p>
@@ -837,7 +837,7 @@
 </p>
 <p>
 You can customize context menus on a per class basis 
-by extending the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.action.EditingMenuBuilder" >EditingMenuBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.java" title="View Source Code" >(src)</a>
+by extending the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.action.EditingMenuBuilder" >EditingMenuBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.java" title="View Source Code" >(src)</a>
 (and injecting it in the Guice module).  However, we suggest to use the
 DSL for this task, as detailed in the following.
 </p>
@@ -880,7 +880,7 @@
 </p>
 <p>
 In the <em>emfMenus</em> section, you can use some methods of
-the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.action.EditingMenuBuilder" >EditingMenuBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.java" title="View Source Code" >(src)</a> class,
+the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.action.EditingMenuBuilder" >EditingMenuBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.java" title="View Source Code" >(src)</a> class,
 as detailed in the following.
 </p>
 <p>
@@ -950,7 +950,7 @@
 that will be affected by the changes specified as a lambda expression
 (the third argument).  The lambda expression will also get the specified
 model&apos;s element as argument.  The model&apos;s element can also be the whole
-resource itself (formally, it can be any EMF <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/common/notify/Notifier.html" title="View JavaDoc"><abbr title="org.eclipse.emf.common.notify.Notifier" >Notifier</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.common/src/org/eclipse/emf/common/notify/Notifier.java" title="View Source Code" >(src)</a>).
+resource itself (formally, it can be any EMF <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/common/notify/Notifier.html" title="View JavaDoc"><abbr title="org.eclipse.emf.common.notify.Notifier" >Notifier</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.common/src/org/eclipse/emf/common/notify/Notifier.java" title="View Source Code" >(src)</a>).
 </p>
 <p>
 It is crucial to specify the correct model&apos;s element to make undo/redo work
@@ -1025,7 +1025,7 @@
 <h2>Drag and Drop</h2>
 <p>
 Drag and drop can be added to any <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StructuredViewer.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.StructuredViewer" >StructuredViewer</abbr></a> by using an
-injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/dnd/ViewerDragAndDropHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.dnd.ViewerDragAndDropHelper" >ViewerDragAndDropHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/dnd/ViewerDragAndDropHelper.java" title="View Source Code" >(src)</a>,
+injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/dnd/ViewerDragAndDropHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.dnd.ViewerDragAndDropHelper" >ViewerDragAndDropHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/dnd/ViewerDragAndDropHelper.java" title="View Source Code" >(src)</a>,
 using its methods <em>addDragAndDrop</em>.
 </p>
 <p>
@@ -1037,16 +1037,16 @@
 <h3>Widget Factory</h3>
 <p>
 The actual creation of text field, buttons, labels, etc. is delegated to an
-implementation of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/widgets/IWidgetFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.widgets.IWidgetFactory" >IWidgetFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/widgets/IWidgetFactory.java" title="View Source Code" >(src)</a>, which has several methods
+implementation of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/widgets/IWidgetFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.widgets.IWidgetFactory" >IWidgetFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/widgets/IWidgetFactory.java" title="View Source Code" >(src)</a>, which has several methods
 like <em>createText</em>, <em>createLabel</em>, etc.  We provide two implementations of such interface
 </p>
 <p>
 <ul>
 	<li>
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/widgets/DialogWidgetFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.widgets.DialogWidgetFactory" >DialogWidgetFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/widgets/DialogWidgetFactory.java" title="View Source Code" >(src)</a>
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/widgets/DialogWidgetFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.widgets.DialogWidgetFactory" >DialogWidgetFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/widgets/DialogWidgetFactory.java" title="View Source Code" >(src)</a>
 	</li>
 	<li>
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/widgets/FormWidgetFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.widgets.FormWidgetFactory" >FormWidgetFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/widgets/FormWidgetFactory.java" title="View Source Code" >(src)</a> which is a specialization of the above,
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/widgets/FormWidgetFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.widgets.FormWidgetFactory" >FormWidgetFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/widgets/FormWidgetFactory.java" title="View Source Code" >(src)</a> which is a specialization of the above,
 		specific for forms.
 	</li>
 </ul>
@@ -1094,7 +1094,7 @@
 For each pair EClass, EStructuralFeature you can either simply return a Control or specify also the target
 for the databinding (see some examples above).
  
-If you want to customize the controls in Java, you can extend the class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/composite/FormControlFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.composite.FormControlFactory" >FormControlFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/composite/FormControlFactory.java" title="View Source Code" >(src)</a>.
+If you want to customize the controls in Java, you can extend the class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/composite/FormControlFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.composite.FormControlFactory" >FormControlFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/composite/FormControlFactory.java" title="View Source Code" >(src)</a>.
 Using the same polimorphic mechanism of the labels, the programmer can write a method
 with name starting with <em>&apos;control&apos;</em>
 followed by the names of the EClass and of the EStructuralFeature undescore-character-separated.
@@ -1102,7 +1102,7 @@
 <p>
 The method must accept as parameters the <em>Source Observable</em> and the <em>feature</em>;
 the superclass&apos; method <em>bindValue</em> can be used for databinding.
-The <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/util/DatabindingUtil.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.util.DatabindingUtil" >DatabindingUtil</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/util/DatabindingUtil.java" title="View Source Code" >(src)</a> utility class can be used
+The <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/util/DatabindingUtil.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.util.DatabindingUtil" >DatabindingUtil</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/util/DatabindingUtil.java" title="View Source Code" >(src)</a> utility class can be used
 for creating the target observable.
 Here&apos;s an example
 </p>
@@ -1171,7 +1171,7 @@
 <a name="EditingDomain"></a>
 <h2>Editing Domain</h2>
 <p>
-The concept of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/edit/domain/EditingDomain.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.domain.EditingDomain" >EditingDomain</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/domain/EditingDomain.java" title="View Source Code" >(src)</a> is crucial for editing
+The concept of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/edit/domain/EditingDomain.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.domain.EditingDomain" >EditingDomain</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/domain/EditingDomain.java" title="View Source Code" >(src)</a> is crucial for editing
 EMF models; we refer to the <em>EMF.Edit</em> <a href="http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.emf.doc%2Freferences%2Foverview%2FEMF.Edit.html">documentation</a> for further details.
 In particular, the editing domain keeps track of commands executed on an EMF model,
 thus enabling undo/redo mechanisms and "dirty state" management for saveable parts.
@@ -1186,9 +1186,9 @@
 from EMF.Edit itself).
 </p>
 <p>
-First of all, all the EMF <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>s that you want to edit with EMF Parsley must be
-contained in a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/resource/ResourceSet.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.ResourceSet" >ResourceSet</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/ResourceSet.java" title="View Source Code" >(src)</a>, which, in turn,
-must be contained in an <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/edit/domain/EditingDomain.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.domain.EditingDomain" >EditingDomain</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/domain/EditingDomain.java" title="View Source Code" >(src)</a>.
+First of all, all the EMF <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>s that you want to edit with EMF Parsley must be
+contained in a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/resource/ResourceSet.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.ResourceSet" >ResourceSet</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/ResourceSet.java" title="View Source Code" >(src)</a>, which, in turn,
+must be contained in an <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/edit/domain/EditingDomain.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.domain.EditingDomain" >EditingDomain</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/domain/EditingDomain.java" title="View Source Code" >(src)</a>.
 This is achieved automatically when using our <em>ResourceLoader</em>, <a href="06-Customization.html#ResourceLoader" title="Go to &quot;Resource Loader&quot;">Resource Loader</a>.
 </p>
 <p>
@@ -1197,7 +1197,7 @@
 be in the same resource set and use the same editing domain.
 </p>
 <p>
-Our default implementation of editing domain uses the EMF <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/edit/domain/AdapterFactoryEditingDomain.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain" >AdapterFactoryEditingDomain</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/domain/AdapterFactoryEditingDomain.java" title="View Source Code" >(src)</a>,
+Our default implementation of editing domain uses the EMF <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/edit/domain/AdapterFactoryEditingDomain.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain" >AdapterFactoryEditingDomain</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/domain/AdapterFactoryEditingDomain.java" title="View Source Code" >(src)</a>,
 so that all the EMF.Edit default mechanisms will work correctly.  In particular,
 our customization uses Google Guice mechanisms (see <a href="06-Customization.html#GuiceBindings" title="Go to &quot;Dependency Injection With Google Guice&quot;">Dependency Injection With Google
 Guice</a>), thus if you need an editing domain in your own views all you have to do is
@@ -1218,7 +1218,7 @@
 <p>
 If you need to provide a custom implementation of the editing domain
 (for example, because you want to use a transactional editing domain), you need
-to implement a custom Google Guice <a class="jdoc" href="http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Provider.html" title="View JavaDoc"><abbr title="com.google.inject.Provider" >Provider</abbr></a> and
+to implement a custom Google Guice <a class="jdoc" href="https://google.github.io/guice/api-docs/latest/javadoc/com/google/inject/Provider.html" title="View JavaDoc"><abbr title="com.google.inject.Provider" >Provider</abbr></a> and
 in your Guice module override this method:
 </p>
 <p>
@@ -1250,7 +1250,7 @@
 	</li>
 	<li>
 		<em>SingletonAdapterFactoryEditingDomainModule</em>: similar to the previous
-		one, but according to the semantics of Google Guice <a class="jdoc" href="http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Singleton.html" title="View JavaDoc"><abbr title="com.google.inject.Singleton" >@Singleton</abbr></a>,
+		one, but according to the semantics of Google Guice <a class="jdoc" href="https://google.github.io/guice/api-docs/latest/javadoc/com/google/inject/Singleton.html" title="View JavaDoc"><abbr title="com.google.inject.Singleton" >@Singleton</abbr></a>,
 		i.e., only those components injected with the same injector will share
 		the same editing domain.  This basically means that all the components
 		created with the same Parsley Guice module will share the same editing domain.
@@ -1317,14 +1317,14 @@
 <a name="ResourceLoader"></a>
 <h3>Resource Loader</h3>
 <p>
-The class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/resource/ResourceLoader.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceLoader" >ResourceLoader</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceLoader.java" title="View Source Code" >(src)</a> can be used to handle resource loading.
+The class <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ResourceLoader.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceLoader" >ResourceLoader</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceLoader.java" title="View Source Code" >(src)</a> can be used to handle resource loading.
 This class uses internally the <a href="06-Customization.html#ResourceManager" title="Go to &quot;Resource Manager&quot;">Resource Manager</a>.
 </p>
 <a name="ResourceManager"></a>
 <h3>Resource Manager</h3>
 <p>
-Tasks concerning an EMF <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a> are
-delegated to <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/resource/ResourceManager.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceManager" >ResourceManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceManager.java" title="View Source Code" >(src)</a>.
+Tasks concerning an EMF <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a> are
+delegated to <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ResourceManager.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceManager" >ResourceManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceManager.java" title="View Source Code" >(src)</a>.
 </p>
 <p>
 One of such tasks is initializing the resource, e.g., when, after loading, it is
@@ -1372,14 +1372,14 @@
 <a name="ResourceSaveStrategy"></a>
 <h3>Resource Save Strategy</h3>
 <p>
-Resource saving is delegated to <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/resource/ResourceSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceSaveStrategy" >ResourceSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceSaveStrategy.java" title="View Source Code" >(src)</a>
-which, by defaults only saves the passed <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>,
-by delegating to <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/resource/ResourceManager.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceManager" >ResourceManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceManager.java" title="View Source Code" >(src)</a>
+Resource saving is delegated to <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ResourceSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceSaveStrategy" >ResourceSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceSaveStrategy.java" title="View Source Code" >(src)</a>
+which, by defaults only saves the passed <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>,
+by delegating to <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ResourceManager.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceManager" >ResourceManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceManager.java" title="View Source Code" >(src)</a>
 (see <a href="06-Customization.html#ResourceManager" title="Go to &quot;Resource Manager&quot;" >section ResourceManager</a>).
 You can inject your own save strategy and customize the saving strategy, for
 instance, you may want to validate the resource before saving
 (a usable example of this strategy is
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ValidateBeforeSaveStrategy" >ValidateBeforeSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.java" title="View Source Code" >(src)</a>,
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ValidateBeforeSaveStrategy" >ValidateBeforeSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.java" title="View Source Code" >(src)</a>,
 see also section <a href="06-Customization.html#Validation" title="Go to &quot;Validation&quot;">Validation</a>).
 </p>
 <a name="Configurator"></a>
@@ -1387,7 +1387,7 @@
 <p>
 In Parsley, instead of using abstract classes, we often provide concrete
 classes that implement superclass&apos; abstract methods (or interface methods)
-by delegating to an injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/config/Configurator.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.config.Configurator" >Configurator</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/config/Configurator.java" title="View Source Code" >(src)</a>.
+by delegating to an injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/config/Configurator.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.config.Configurator" >Configurator</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/config/Configurator.java" title="View Source Code" >(src)</a>.
 Such configurator calls methods in its hierarchy using polymorphic dispatch;
 in particular, the first argument passed to these methods is the object
 requesting that specific service to the configurator; typically it will be
@@ -1515,15 +1515,15 @@
 validation action will check them.
 </p>
 <p>
-EMF validation can also be triggered manually using an injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/validation/ValidationRunner.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.ValidationRunner" >ValidationRunner</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/ValidationRunner.java" title="View Source Code" >(src)</a>,
-which provides methods for validating a single <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EObject.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EObject" >EObject</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java" title="View Source Code" >(src)</a> or an entire
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>.  These <em>validate</em> methods return an EMF
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/common/util/Diagnostic.html" title="View JavaDoc"><abbr title="org.eclipse.emf.common.util.Diagnostic" >Diagnostic</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.common/src/org/eclipse/emf/common/util/Diagnostic.java" title="View Source Code" >(src)</a> that can be used to find out possible errors, warnings
+EMF validation can also be triggered manually using an injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/validation/ValidationRunner.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.ValidationRunner" >ValidationRunner</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/ValidationRunner.java" title="View Source Code" >(src)</a>,
+which provides methods for validating a single <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EObject.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EObject" >EObject</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EObject.java" title="View Source Code" >(src)</a> or an entire
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/resource/Resource.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.resource.Resource" >Resource</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/resource/Resource.java" title="View Source Code" >(src)</a>.  These <em>validate</em> methods return an EMF
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/common/util/Diagnostic.html" title="View JavaDoc"><abbr title="org.eclipse.emf.common.util.Diagnostic" >Diagnostic</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.common/src/org/eclipse/emf/common/util/Diagnostic.java" title="View Source Code" >(src)</a> that can be used to find out possible errors, warnings
 and infos collected during the validation.
 </p>
 <p>
 There are overloaded versions of <em>validate</em> methods that also take an
-<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/validation/IssueReporter.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.IssueReporter" >IssueReporter</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/IssueReporter.java" title="View Source Code" >(src)</a>:
+<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/validation/IssueReporter.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.IssueReporter" >IssueReporter</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/IssueReporter.java" title="View Source Code" >(src)</a>:
 </p>
 <p>
 <div class="literallayout">
@@ -1563,19 +1563,19 @@
 ignoring warnings and other diagnostic information.
 </p>
 <p>
-We provide a utility class that can be injected, <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/validation/DiagnosticUtil.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.DiagnosticUtil" >DiagnosticUtil</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/DiagnosticUtil.java" title="View Source Code" >(src)</a>,
+We provide a utility class that can be injected, <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/validation/DiagnosticUtil.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.DiagnosticUtil" >DiagnosticUtil</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/DiagnosticUtil.java" title="View Source Code" >(src)</a>,
 with utility methods, like flattening diagnostic into a list (EMF diagnostic are typically nested in
 a tree form), to quickly select only the errors, and to have a string representation.
 </p>
 <p>
-The default implementation of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/validation/IssueReporter.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.IssueReporter" >IssueReporter</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/IssueReporter.java" title="View Source Code" >(src)</a>
-is <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/validation/DialogErrorReporter.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.DialogErrorReporter" >DialogErrorReporter</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/DialogErrorReporter.java" title="View Source Code" >(src)</a>, which uses an EMF
+The default implementation of <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/validation/IssueReporter.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.IssueReporter" >IssueReporter</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/IssueReporter.java" title="View Source Code" >(src)</a>
+is <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/validation/DialogErrorReporter.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.DialogErrorReporter" >DialogErrorReporter</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/DialogErrorReporter.java" title="View Source Code" >(src)</a>, which uses an EMF
 dialog to report ONLY errors.  Another implementation that can be used for testing purposes
-is <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/validation/LogIssueReporter.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.LogIssueReporter" >LogIssueReporter</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/LogIssueReporter.java" title="View Source Code" >(src)</a>, which logs diagnostic using
+is <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/validation/LogIssueReporter.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.validation.LogIssueReporter" >LogIssueReporter</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/validation/LogIssueReporter.java" title="View Source Code" >(src)</a>, which logs diagnostic using
 the corresponding log4j methods (i.e., <em>error</em>, <em>warn</em>, <em>info</em>).
 </p>
 <p>
-An example of use of the above classes can be found in <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ValidateBeforeSaveStrategy" >ValidateBeforeSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.java" title="View Source Code" >(src)</a>
+An example of use of the above classes can be found in <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ValidateBeforeSaveStrategy" >ValidateBeforeSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.java" title="View Source Code" >(src)</a>
 (see section <a href="06-Customization.html#ResourceSaveStrategy" title="Go to &quot;Resource Save Strategy&quot;">Resource Save Strategy</a>):
 </p>
 <p>
@@ -1607,7 +1607,7 @@
 </div>
 </p>
 <p>
-Thus, if you use a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ValidateBeforeSaveStrategy" >ValidateBeforeSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.java" title="View Source Code" >(src)</a>,
+Thus, if you use a <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ValidateBeforeSaveStrategy" >ValidateBeforeSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ValidateBeforeSaveStrategy.java" title="View Source Code" >(src)</a>,
 with the default Guice bindings, upon saving, if validation finds errors, it will
 cancel the saving and it will show a dialog with errors.
 </p>
@@ -1627,7 +1627,7 @@
 <p>
 Please keep in mind that for forms and dialogs the error decorations are based on
 specific features of the object being edited and validated.  If you have a custom
-EMF validator you need to make sure to specify the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a>
+EMF validator you need to make sure to specify the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EStructuralFeature.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EStructuralFeature" >EStructuralFeature</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EStructuralFeature.java" title="View Source Code" >(src)</a>
 when creating a diagnostic error.
 </p>
 </body>
diff --git a/doc/org.eclipse.emf.parsley.doc/contents/AdvancedFeatures.html b/doc/org.eclipse.emf.parsley.doc/contents/AdvancedFeatures.html
index 405c537..6170735 100644
--- a/doc/org.eclipse.emf.parsley.doc/contents/AdvancedFeatures.html
+++ b/doc/org.eclipse.emf.parsley.doc/contents/AdvancedFeatures.html
@@ -75,16 +75,16 @@
 <p>
 <ul>
 	<li>
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyTest.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.junit4.AbstractEmfParsleyTest" >AbstractEmfParsleyTest</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyTest.java" title="View Source Code" >(src)</a>: this provides
-			a few utility methods, e.g., for creating an <a class="jdoc" href="http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/Injector.html" title="View JavaDoc"><abbr title="com.google.inject.Injector" >Injector</abbr></a>.
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyTest.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.junit4.AbstractEmfParsleyTest" >AbstractEmfParsleyTest</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyTest.java" title="View Source Code" >(src)</a>: this provides
+			a few utility methods, e.g., for creating an <a class="jdoc" href="https://google.github.io/guice/api-docs/latest/javadoc/com/google/inject/Injector.html" title="View JavaDoc"><abbr title="com.google.inject.Injector" >Injector</abbr></a>.
 	</li>
 	<li>
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyShellBasedTest.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.junit4.AbstractEmfParsleyShellBasedTest" >AbstractEmfParsleyShellBasedTest</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyShellBasedTest.java" title="View Source Code" >(src)</a>: this allows
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyShellBasedTest.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.junit4.AbstractEmfParsleyShellBasedTest" >AbstractEmfParsleyShellBasedTest</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyShellBasedTest.java" title="View Source Code" >(src)</a>: this allows
 			to run Junit tests that require a <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Display.html" title="View JavaDoc"><abbr title="org.eclipse.swt.widgets.Display" >Display</abbr></a> and a
 			<a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Shell.html" title="View JavaDoc"><abbr title="org.eclipse.swt.widgets.Shell" >Shell</abbr></a>.
 	</li>
 	<li>
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyControlBasedTest.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.junit4.AbstractEmfParsleyControlBasedTest" >AbstractEmfParsleyControlBasedTest</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyControlBasedTest.java" title="View Source Code" >(src)</a>: an extension
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyControlBasedTest.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.junit4.AbstractEmfParsleyControlBasedTest" >AbstractEmfParsleyControlBasedTest</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/junit4/AbstractEmfParsleyControlBasedTest.java" title="View Source Code" >(src)</a>: an extension
 			of the previous class for tests that also require databinding capabilities, e.g.,
 			tests for <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Control.html" title="View JavaDoc"><abbr title="org.eclipse.swt.widgets.Control" >Control</abbr></a> elements; this provides many assert
 			methods for several kinds of controls, such as <em>assertCheckbox</em>, <em>assertCombo</em>, etc.
diff --git a/doc/org.eclipse.emf.parsley.doc/contents/Migration-Guide.html b/doc/org.eclipse.emf.parsley.doc/contents/Migration-Guide.html
index ad0be1b..5206042 100644
--- a/doc/org.eclipse.emf.parsley.doc/contents/Migration-Guide.html
+++ b/doc/org.eclipse.emf.parsley.doc/contents/Migration-Guide.html
@@ -124,7 +124,7 @@
 <p>
 <ul>
 	<li>
-		The way we handle the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/edit/domain/EditingDomain.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.domain.EditingDomain" >EditingDomain</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/domain/EditingDomain.java" title="View Source Code" >(src)</a> is
+		The way we handle the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/edit/domain/EditingDomain.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.domain.EditingDomain" >EditingDomain</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/domain/EditingDomain.java" title="View Source Code" >(src)</a> is
 		changed and improved to some extent.  In standard scenarios this should not
 		require any modifications.  In advanced scenarios this will provide complete
 		control on the editing domain.  We refer to the new section in the documentation,
@@ -133,13 +133,13 @@
 	<li>
 		<em>Tree With Columns</em>: a new component has been added:
 		The <em>Tree With Columns Component</em> provides a tree representation just like <a href="05-Components.html#TreeComponent" title="Go to &quot;Tree Component&quot;">Tree Component</a>,
-		but it also shows table columns representing the features of the specified <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a>.
-		IMPORTANT: the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> is used to retrieve the features to be shown, and
+		but it also shows table columns representing the features of the specified <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a>.
+		IMPORTANT: the <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> is used to retrieve the features to be shown, and
 		NOT to filter elements to be shown (as opposite to the <a href="05-Components.html#TableComponent" title="Go to &quot;Table Component&quot;">Table Component</a>).  If a given
 		row in the tree represents an object whose class does not have the feature for a given column, then the
 		corresponding table cell for that object will be empty.
 		For example, the following screenshot shows a tree with columns representing a library; the specified
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> is the <em>Writer</em> so the columns show the features of the
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/ecore/EClass.html" title="View JavaDoc"><abbr title="org.eclipse.emf.ecore.EClass" >EClass</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/ecore/EClass.java" title="View Source Code" >(src)</a> is the <em>Writer</em> so the columns show the features of the
 		<em>Writer</em>&apos;s class.  Some of these features, e.g., <em>address</em>, <em>firstName</em> and <em>lastName</em>, are defined
 		in the superclasses of <em>Writer</em>.  The objects of class <em>Employee</em> have these features as well, while
 		they don&apos;t have features that are specific of <em>Writer</em>, e.g., <em>name</em> and <em>books</em>, thus the corresponding
@@ -235,7 +235,7 @@
 <ul>
 	<li>
 		<em>ViewerInitializer</em> has been removed: all creation and initialization of viewers
-		is performed using <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/viewers/ViewerFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.viewers.ViewerFactory" >ViewerFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/viewers/ViewerFactory.java" title="View Source Code" >(src)</a>; its API has been
+		is performed using <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/viewers/ViewerFactory.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.viewers.ViewerFactory" >ViewerFactory</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/viewers/ViewerFactory.java" title="View Source Code" >(src)</a>; its API has been
 		revised and simplified.
 	</li>
 	<li>
@@ -256,12 +256,12 @@
 		The creation of caption labels for forms and dialogs has slightly
 		changed, concerning the default behavior
 		(<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=472691">https://bugs.eclipse.org/bugs/show_bug.cgi?id=472691</a>):
-		we take the text from <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/edit/provider/IItemPropertyDescriptor.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.provider.IItemPropertyDescriptor" >IItemPropertyDescriptor</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/provider/IItemPropertyDescriptor.java" title="View Source Code" >(src)</a> if
+		we take the text from <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/edit/provider/IItemPropertyDescriptor.html" title="View JavaDoc"><abbr title="org.eclipse.emf.edit.provider.IItemPropertyDescriptor" >IItemPropertyDescriptor</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/edit/provider/IItemPropertyDescriptor.java" title="View Source Code" >(src)</a> if
 		the EObject provides it. (This does not happen for table column headers, since we don&apos;t have
 		any EObject when we build the table columns).
 		If you used to call this method on a
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FormFeatureCaptionProvider" >FormFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.java" title="View Source Code" >(src)</a> or
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.DialogFeatureCaptionProvider" >DialogFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.java" title="View Source Code" >(src)</a>
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.FormFeatureCaptionProvider" >FormFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/FormFeatureCaptionProvider.java" title="View Source Code" >(src)</a> or
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.ui.provider.DialogFeatureCaptionProvider" >DialogFeatureCaptionProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/ui/provider/DialogFeatureCaptionProvider.java" title="View Source Code" >(src)</a>
 		<div class="literallayout">
 		<div class="incode">
 		<p class="code">
@@ -280,7 +280,7 @@
 		and of course also its semantics, since you need to pass an EObject not its EClass.
 	</li>
 	<li>
-		a new method is available in <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.action.EditingMenuBuilder" >EditingMenuBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.java" title="View Source Code" >(src)</a>,
+		a new method is available in <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.action.EditingMenuBuilder" >EditingMenuBuilder</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/action/EditingMenuBuilder.java" title="View Source Code" >(src)</a>,
 		<em>actionChange</em>: If you want to implement more complex menu commands that do not
 		only add elements to a container, you can use the method
 		<em>actionChange</em>, specifying the label for the menu, the model&apos;s element
@@ -298,7 +298,7 @@
 		Adding context menu to a viewer has been extremely simplified
 		(<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=455727">https://bugs.eclipse.org/bugs/show_bug.cgi?id=455727</a>):
 		A context menu can be added to any <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StructuredViewer.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.StructuredViewer" >StructuredViewer</abbr></a> by using an
-		injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper" >ViewerContextMenuHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.java" title="View Source Code" >(src)</a>. This provides some
+		injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper" >ViewerContextMenuHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/menus/ViewerContextMenuHelper.java" title="View Source Code" >(src)</a>. This provides some
 		methods for adding the context menu
 		<div class="literallayout">
 		<div class="incode">
@@ -324,7 +324,7 @@
 		(<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=475914">https://bugs.eclipse.org/bugs/show_bug.cgi?id=475914</a>):
 		thus, adding context menu does NOT automatically add drag and drop.
 		Drag and drop can be added to any <a class="jdoc" href="http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StructuredViewer.html" title="View JavaDoc"><abbr title="org.eclipse.jface.viewers.StructuredViewer" >StructuredViewer</abbr></a> by using an
-		injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/dnd/ViewerDragAndDropHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.dnd.ViewerDragAndDropHelper" >ViewerDragAndDropHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/dnd/ViewerDragAndDropHelper.java" title="View Source Code" >(src)</a>,
+		injected <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/dnd/ViewerDragAndDropHelper.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.dnd.ViewerDragAndDropHelper" >ViewerDragAndDropHelper</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/dnd/ViewerDragAndDropHelper.java" title="View Source Code" >(src)</a>,
 		using its methods <em>addDragAndDrop</em>.
 	</li>
 	<li>
@@ -332,9 +332,9 @@
 		Saveable table views and table views reacting on selection
 		do not require an implementation of the method
 		<em>getContents()</em>, which has also been removed from the API, from the
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/config/Configurator.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.config.Configurator" >Configurator</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/config/Configurator.java" title="View Source Code" >(src)</a> methods, and from
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/config/Configurator.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.config.Configurator" >Configurator</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/config/Configurator.java" title="View Source Code" >(src)</a> methods, and from
 		the <em>configurator</em> section in the DSL: contents retrieval is completely
-		delegated to the new <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>,
+		delegated to the new <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>,
 		whose default implementation is able to automatically retrieve all the
 		contents of a given type (i.e., EClass) automatically.
 		The DSL provides the new <em>tableViewerContentProvider</em> specification,
@@ -348,10 +348,10 @@
 		<em>getEClass()</em> which specifies the type of the objects to be
 		shown in the table.
 		<em>getEStructuralFeature()</em> has also been removed from the API, from the
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/config/Configurator.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.config.Configurator" >Configurator</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/config/Configurator.java" title="View Source Code" >(src)</a> methods, and from
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/config/Configurator.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.config.Configurator" >Configurator</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/config/Configurator.java" title="View Source Code" >(src)</a> methods, and from
 		the <em>configurator</em> section in the DSL: contents retrieval is not
 		performed using a feature (which is limitative): it is completely
-		delegated to the new <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>,
+		delegated to the new <a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider" >TableViewerContentProvider</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/edit/ui/provider/TableViewerContentProvider.java" title="View Source Code" >(src)</a>,
 		whose default implementation is able to automatically retrieve all the
 		contents of a given type (i.e., EClass) automatically.
 	</li>
@@ -363,12 +363,12 @@
 <ul>
 	<li>
 		<em>EmptyResourceInitializer</em> has been removed: you should now use
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/resource/ResourceManager.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceManager" >ResourceManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceManager.java" title="View Source Code" >(src)</a>,
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ResourceManager.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceManager" >ResourceManager</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceManager.java" title="View Source Code" >(src)</a>,
 		see section <a href="06-Customization.html#ResourceManager" title="Go to &quot;Resource Manager&quot;">Resource Manager</a>
 	</li>
 	<li>
 		<em>ResourceSaveManager</em> has been removed: you should now use
-		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/parsley/resource/ResourceSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceSaveStrategy" >ResourceSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceSaveStrategy.java" title="View Source Code" >(src)</a>,
+		<a class="jdoc" href="http://download.eclipse.org/modeling/emf/emf/javadoc/2.10.0/org/eclipse/emf/parsley/resource/ResourceSaveStrategy.html" title="View JavaDoc"><abbr title="org.eclipse.emf.parsley.resource.ResourceSaveStrategy" >ResourceSaveStrategy</abbr></a> <a class="srcLink" href="https://github.com/eclipse/emf/blob/R2_9_0/plugins/org.eclipse.emf.ecore/src/org/eclipse/emf/parsley/resource/ResourceSaveStrategy.java" title="View Source Code" >(src)</a>,
 		see section <a href="06-Customization.html#ResourceSaveStrategy" title="Go to &quot;Resource Save Strategy&quot;">Resource Save Strategy</a>
 	</li>
 	<li>
diff --git a/doc/org.eclipse.emf.parsley.doc/pom.xml b/doc/org.eclipse.emf.parsley.doc/pom.xml
index 0bde07c..1c4297f 100644
--- a/doc/org.eclipse.emf.parsley.doc/pom.xml
+++ b/doc/org.eclipse.emf.parsley.doc/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.doc</artifactId>
diff --git a/doc/org.eclipse.emf.parsley.doc/xdoc/documentation/02-FirstExample.xdoc b/doc/org.eclipse.emf.parsley.doc/xdoc/documentation/02-FirstExample.xdoc
index 505f605..fff87e7 100644
--- a/doc/org.eclipse.emf.parsley.doc/xdoc/documentation/02-FirstExample.xdoc
+++ b/doc/org.eclipse.emf.parsley.doc/xdoc/documentation/02-FirstExample.xdoc
@@ -29,7 +29,7 @@
 
 ol[
 	item[select "File" -> "New" -> "Project..."]
-	item[from the "Emf Parsley" category select "Emf Parsley Dsl based Project"
+	item[from the "EMF Parsley" category select "EMF Parsley Dsl based Project"
 	
 	img[images/01-new-project-dsl-wizard.png][][ ][] 
 	
@@ -55,7 +55,7 @@
 code[EmfParsley][
 import org.eclipse.emf.parsley.examples.firstexample.FirstexampleSaveableTreeFormView
 
-/* org.eclipse.emf.parsley.examples.firstexample Emf Parsley Dsl Module file */
+/* org.eclipse.emf.parsley.examples.firstexample EMF Parsley Dsl Module file */
 module org.eclipse.emf.parsley.examples.firstexample {
 	
 	parts {
diff --git a/dsl/org.eclipse.emf.parsley.dsl.additional.builder/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl.additional.builder/META-INF/MANIFEST.MF
index ed0c6f0..8dce76e 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.additional.builder/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl.additional.builder/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley DSL Additional Builder
 Bundle-SymbolicName: org.eclipse.emf.parsley.dsl.additional.builder;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.dsl.additional.builder.Activator
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
diff --git a/dsl/org.eclipse.emf.parsley.dsl.additional.builder/pom.xml b/dsl/org.eclipse.emf.parsley.dsl.additional.builder/pom.xml
index c2bc215..77c0f98 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.additional.builder/pom.xml
+++ b/dsl/org.eclipse.emf.parsley.dsl.additional.builder/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.dsl.additional.builder</artifactId>
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ide/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl.ide/META-INF/MANIFEST.MF
index d191d33..5217d6d 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ide/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl.ide/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.dsl.ide
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.dsl.ide; singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.emf.parsley.dsl,
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ide/pom.xml b/dsl/org.eclipse.emf.parsley.dsl.ide/pom.xml
index de7da95..2935943 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ide/pom.xml
+++ b/dsl/org.eclipse.emf.parsley.dsl.ide/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.dsl.ide</artifactId>
diff --git a/dsl/org.eclipse.emf.parsley.dsl.standalone.lib/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl.standalone.lib/META-INF/MANIFEST.MF
index 41a10b4..200e572 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.standalone.lib/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl.standalone.lib/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley DSL Standalone Lib
 Bundle-SymbolicName: org.eclipse.emf.parsley.dsl.standalone.lib
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-Vendor: Eclipse Modeling Project
diff --git a/dsl/org.eclipse.emf.parsley.dsl.standalone.lib/pom.xml b/dsl/org.eclipse.emf.parsley.dsl.standalone.lib/pom.xml
index e8238de..7c21eda 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.standalone.lib/pom.xml
+++ b/dsl/org.eclipse.emf.parsley.dsl.standalone.lib/pom.xml
@@ -18,7 +18,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.dsl.standalone.lib</artifactId>
diff --git a/dsl/org.eclipse.emf.parsley.dsl.standalone/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl.standalone/META-INF/MANIFEST.MF
index 5f94fa4..db10b8d 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.standalone/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl.standalone/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley DSL Standalone
 Bundle-SymbolicName: org.eclipse.emf.parsley.dsl.standalone
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-Vendor: Eclipse Modeling Project
diff --git a/dsl/org.eclipse.emf.parsley.dsl.standalone/pom.xml b/dsl/org.eclipse.emf.parsley.dsl.standalone/pom.xml
index c53080a..488c5c5 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.standalone/pom.xml
+++ b/dsl/org.eclipse.emf.parsley.dsl.standalone/pom.xml
@@ -18,7 +18,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.dsl.standalone</artifactId>
diff --git a/dsl/org.eclipse.emf.parsley.dsl.tests/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl.tests/META-INF/MANIFEST.MF
index 5d6fb47..a20fd7e 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.tests/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.dsl.tests
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.dsl.tests;singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.emf.parsley.dsl,
diff --git a/dsl/org.eclipse.emf.parsley.dsl.tests/pom.xml b/dsl/org.eclipse.emf.parsley.dsl.tests/pom.xml
index eea9b05..8947d95 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.tests/pom.xml
+++ b/dsl/org.eclipse.emf.parsley.dsl.tests/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.dsl.tests</artifactId>
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui.tests/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl.ui.tests/META-INF/MANIFEST.MF
index df63945..fcaa2c8 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ui.tests/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.dsl.ui.tests
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.dsl.ui.tests; singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.emf.parsley.dsl.ui,
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui.tests/pom.xml b/dsl/org.eclipse.emf.parsley.dsl.ui.tests/pom.xml
index 8efca57..57fd7e2 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ui.tests/pom.xml
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui.tests/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.dsl.ui.tests</artifactId>
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/tests/util/ui/TestableEmfParsleyDslNewProjectWizard.java b/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/tests/util/ui/TestableEmfParsleyDslNewProjectWizard.java
index 0ddc3f2..70f5ae4 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/tests/util/ui/TestableEmfParsleyDslNewProjectWizard.java
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/tests/util/ui/TestableEmfParsleyDslNewProjectWizard.java
@@ -17,7 +17,7 @@
 public class TestableEmfParsleyDslNewProjectWizard extends
 		EmfParsleyDslNewProjectWizard {
 
-	public static final String TEST_PROJECT = "TestProject";
+	public static final String TEST_PROJECT = "testproject";
 
 	@Inject
 	public TestableEmfParsleyDslNewProjectWizard(IProjectCreator projectCreator) {
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/ui/tests/EmfParsleyDslWorkbenchTest.xtend b/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/ui/tests/EmfParsleyDslWorkbenchTest.xtend
index 65137b0..3600fe5 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/ui/tests/EmfParsleyDslWorkbenchTest.xtend
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/ui/tests/EmfParsleyDslWorkbenchTest.xtend
@@ -44,7 +44,7 @@
 	@Inject PluginProjectHelper projectHelper
 
 	val TEST_MODULE = TestableEmfParsleyDslNewProjectWizard.TEST_PROJECT + "/" +
-		TestableEmfParsleyDslNewProjectWizard.TEST_PROJECT + ".parsley"
+		TestableEmfParsleyDslNewProjectWizard.TEST_PROJECT.toFirstUpper + ".parsley"
 
 	val TEST_PLUGIN_XML_GEN = 
 		EmfParsleyDslOutputConfigurationProvider.EMFPARSLEY_GEN + "/" + TEST_PROJECT + "/" +
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl.ui/META-INF/MANIFEST.MF
index ec2d6eb..fb5a0f6 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ui/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.dsl.ui
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.dsl.ui;singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.emf.parsley.dsl;visibility:=reexport,
- org.eclipse.xtext.ui;bundle-version="[2.10.0,2.11.0)",
+ org.eclipse.xtext.ui,
  org.eclipse.ui.editors;bundle-version="3.5.0",
  org.eclipse.ui.ide;bundle-version="3.5.0",
  org.eclipse.xtext.ui.shared,
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui/pom.xml b/dsl/org.eclipse.emf.parsley.dsl.ui/pom.xml
index f70f035..17338ab 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ui/pom.xml
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.dsl.ui</artifactId>
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui/src/org/eclipse/emf/parsley/dsl/ui/wizard/EmfParsleyDslProjectCreatorCustom.java b/dsl/org.eclipse.emf.parsley.dsl.ui/src/org/eclipse/emf/parsley/dsl/ui/wizard/EmfParsleyDslProjectCreatorCustom.java
index fadd796..c6c1a5a 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ui/src/org/eclipse/emf/parsley/dsl/ui/wizard/EmfParsleyDslProjectCreatorCustom.java
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui/src/org/eclipse/emf/parsley/dsl/ui/wizard/EmfParsleyDslProjectCreatorCustom.java
@@ -78,10 +78,11 @@
 
 	@Override
 	protected String getActivatorClassName() {
-		return getProjectInfo().getProjectName()
+		String projectName = getFixedProjectName();
+		return projectName
 				+ "."
 				+ projectFilesGenerator.activatorName(
-						getProjectInfo().getProjectName()).toString();
+						projectName).toString();
 	}
 
 	@Override
@@ -101,7 +102,7 @@
 	@Override
 	protected void enhanceProject(final IProject project,
 			final IProgressMonitor monitor) throws CoreException {
-		String projectName = getProjectInfo().getProjectName();
+		String projectName = getFixedProjectName();
 
 		String srcFolder = "src";
 		String projectPackagePath = srcFolder + "/"
@@ -137,4 +138,9 @@
 		project.refreshLocal(IResource.DEPTH_INFINITE, subMonitor.newChild(1));
 		subMonitor.done();
 	}
+
+	protected String getFixedProjectName() {
+		return NewEmfParsleyProjectSupport.getValidJavaName(
+				getProjectInfo().getProjectName());
+	}
 }
diff --git a/dsl/org.eclipse.emf.parsley.dsl/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl/META-INF/MANIFEST.MF
index f3f8209..6d66516 100644
--- a/dsl/org.eclipse.emf.parsley.dsl/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley DSL
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.dsl;singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.xtext;bundle-version="[2.10.0,2.11.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.xtext;visibility:=reexport,
  org.eclipse.xtext.xbase;resolution:=optional;visibility:=reexport,
  org.eclipse.xtext.generator;resolution:=optional,
  org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
diff --git a/dsl/org.eclipse.emf.parsley.dsl/pom.xml b/dsl/org.eclipse.emf.parsley.dsl/pom.xml
index d75aba1..90c5f21 100644
--- a/dsl/org.eclipse.emf.parsley.dsl/pom.xml
+++ b/dsl/org.eclipse.emf.parsley.dsl/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.dsl</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.company.app/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.cdo.company.app/META-INF/MANIFEST.MF
index cb42590..6780ea8 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.company.app/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.company.app/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: App
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.cdo.company.app;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.examples.cdo.company.app.Activator
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.company.model/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.cdo.company.model/META-INF/MANIFEST.MF
index 0bf20f9..d131581 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.company.model/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.company.model/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.cdo.company.model;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.customers/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.customers/META-INF/MANIFEST.MF
index 6d6bd48..d8ea717 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.customers/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.customers/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.cdo.company.ui.customers
 Bundle-Vendor: My Company
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.cdo.company.ui.customers; singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.examples.cdo.company.ui.customers.CustomersActivator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.orders/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.orders/META-INF/MANIFEST.MF
index 604a0ca..58c0984 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.orders/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.orders/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.cdo.company.ui.orders
 Bundle-Vendor: My Company
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.cdo.company.ui.orders;singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.examples.cdo.company.ui.orders.OrdersActivator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.products/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.products/META-INF/MANIFEST.MF
index f263bf8..0fc8d65 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.products/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.company.ui.products/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.cdo.company.ui.products
 Bundle-Vendor: My Company
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.cdo.company.ui.products; singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.examples.cdo.company.ui.products.ProductsActivator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.model/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.cdo.model/META-INF/MANIFEST.MF
index c18933a..7af591c 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.model/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.model/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.cdo.model;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.model/pom.xml b/examples/org.eclipse.emf.parsley.examples.cdo.model/pom.xml
index 033c635..d54f51e 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.model/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.model/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.cdo.model</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.product.feature/feature.xml b/examples/org.eclipse.emf.parsley.examples.cdo.product.feature/feature.xml
index 42c4c02..540a228 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.product.feature/feature.xml
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.product.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.examples.cdo.product.feature"
       label="EMF Parsley CDO Example Product Feature"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="Eclipse Modeling Project">
 
    <description url="http://www.eclipse.org/emfparsley">
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.rap/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.cdo.rap/META-INF/MANIFEST.MF
index aa92e4a..2bcd015 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.rap/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.rap/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Library RAP
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.cdo.rap;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.eclipse.rap.ui
 Bundle-Vendor: Eclipse Modeling Project
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.rap/pom.xml b/examples/org.eclipse.emf.parsley.examples.cdo.rap/pom.xml
index afc5469..b48f09d 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.rap/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.rap/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.cdo.rap</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.rcp/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.cdo.rcp/META-INF/MANIFEST.MF
index fb3fc26..82b6a32 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.rcp/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.rcp/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Rcp
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.cdo.rcp;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.examples.cdo.rcp.Activator
 Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
  org.eclipse.core.runtime;bundle-version="3.5.0",
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.server/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.cdo.server/META-INF/MANIFEST.MF
index 1d203dd..3db4576 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.server/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.server/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Example CDO Server
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.cdo.server
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.eclipse.emf.cdo,
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.server/pom.xml b/examples/org.eclipse.emf.parsley.examples.cdo.server/pom.xml
index 495281d..f74e4bb 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.server/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.server/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.cdo.server</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.treeform/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.cdo.treeform/META-INF/MANIFEST.MF
index 58d219c..c95ad22 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.treeform/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.treeform/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.cdo.treeform
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.cdo.treeform; singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.examples.cdo.treeform.TreeformCDOActivator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.treeform/pom.xml b/examples/org.eclipse.emf.parsley.examples.cdo.treeform/pom.xml
index aae81ab..01ac7d1 100644
--- a/examples/org.eclipse.emf.parsley.examples.cdo.treeform/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.treeform/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.cdo.treeform</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.eclipse4.parsleypart/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.eclipse4.parsleypart/META-INF/MANIFEST.MF
index 2cb8239..414d99a 100644
--- a/examples/org.eclipse.emf.parsley.examples.eclipse4.parsleypart/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.eclipse4.parsleypart/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.eclipse4.parsleypart
 Bundle-Vendor: My Company
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.eclipse4.parsleypart; singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.examples.eclipse4.parsleypart.ParsleypartActivator
 Require-Bundle: org.eclipse.core.runtime,
diff --git a/examples/org.eclipse.emf.parsley.examples.eclipse4.parsleypart/pom.xml b/examples/org.eclipse.emf.parsley.examples.eclipse4.parsleypart/pom.xml
index 16e1098..197e2e3 100644
--- a/examples/org.eclipse.emf.parsley.examples.eclipse4.parsleypart/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.eclipse4.parsleypart/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.eclipse4.parsleypart</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.eclipse4.product.feature/feature.xml b/examples/org.eclipse.emf.parsley.examples.eclipse4.product.feature/feature.xml
index 6d27006..d249595 100644
--- a/examples/org.eclipse.emf.parsley.examples.eclipse4.product.feature/feature.xml
+++ b/examples/org.eclipse.emf.parsley.examples.eclipse4.product.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.examples.eclipse4.product.feature"
       label="EMF Parsley Eclipse4 Example Product Feature"
-      version="1.1.0.qualifier">
+      version="1.2.0.qualifier">
 
    <description url="http://www.eclipse.org/emfparsley">
       EMF Parsley Eclipse4 Example Product Feature
diff --git a/examples/org.eclipse.emf.parsley.examples.eclipse4.product.feature/pom.xml b/examples/org.eclipse.emf.parsley.examples.eclipse4.product.feature/pom.xml
index 9b595ca..a3a9c3d 100644
--- a/examples/org.eclipse.emf.parsley.examples.eclipse4.product.feature/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.eclipse4.product.feature/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.eclipse4.product.feature</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.eclipse4/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.eclipse4/META-INF/MANIFEST.MF
index d2d6a9d..cb592c0 100644
--- a/examples/org.eclipse.emf.parsley.examples.eclipse4/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.eclipse4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Eclipse4
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.eclipse4;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Require-Bundle: javax.inject,
  org.eclipse.core.runtime,
  org.eclipse.swt,
diff --git a/examples/org.eclipse.emf.parsley.examples.eclipse4/pom.xml b/examples/org.eclipse.emf.parsley.examples.eclipse4/pom.xml
index db40167..e16d453 100644
--- a/examples/org.eclipse.emf.parsley.examples.eclipse4/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.eclipse4/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.eclipse4</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.editors/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.editors/META-INF/MANIFEST.MF
index f868ec5..5d956ea 100644
--- a/examples/org.eclipse.emf.parsley.examples.editors/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.editors/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Editors Examples
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.editors;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.examples.editors.EmfParsleyExamplesEditorsActivator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.ui,
diff --git a/examples/org.eclipse.emf.parsley.examples.editors/pom.xml b/examples/org.eclipse.emf.parsley.examples.editors/pom.xml
index 07873ce..ba74f5d 100644
--- a/examples/org.eclipse.emf.parsley.examples.editors/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.editors/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.editors</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.firstexample/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.firstexample/META-INF/MANIFEST.MF
index 4ef9793..edee457 100644
--- a/examples/org.eclipse.emf.parsley.examples.firstexample/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.firstexample/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.firstexample
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.firstexample; singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.examples.firstexample.FirstexampleActivator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.library.edit/META-INF/MANIFEST.MF
index f83df3e..e65e1c4 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.library.edit;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.parsley.examples.library.provider.EXTLibraryEditPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/pom.xml b/examples/org.eclipse.emf.parsley.examples.library.edit/pom.xml
index 06c00b7..1c24a65 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.library.edit</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/AudioVisualItemItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/AudioVisualItemItemProvider.java
index 9d436a1..1d7a4e9 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/AudioVisualItemItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/AudioVisualItemItemProvider.java
@@ -23,14 +23,8 @@
 
 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.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.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 import org.eclipse.emf.parsley.examples.library.AudioVisualItem;
@@ -44,163 +38,155 @@
  * @generated
  */
 public class AudioVisualItemItemProvider
-  extends CirculatingItemItemProvider
-  implements  
-    IEditingDomainItemProvider,  
-    IStructuredItemContentProvider,  
-    ITreeItemContentProvider,  
-    IItemLabelProvider,  
-    IItemPropertySource 
+  extends CirculatingItemItemProvider 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public AudioVisualItemItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addTitlePropertyDescriptor(object);
-      addMinutesLengthPropertyDescriptor(object);
-      addDamagedPropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addTitlePropertyDescriptor(object);
+			addMinutesLengthPropertyDescriptor(object);
+			addDamagedPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Title feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Title feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addTitlePropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_AudioVisualItem_title_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_AudioVisualItem_title_feature", "_UI_AudioVisualItem_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.AUDIO_VISUAL_ITEM__TITLE,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AudioVisualItem_title_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AudioVisualItem_title_feature", "_UI_AudioVisualItem_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.AUDIO_VISUAL_ITEM__TITLE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Minutes Length feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Minutes Length feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addMinutesLengthPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_AudioVisualItem_minutesLength_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_AudioVisualItem_minutesLength_feature", "_UI_AudioVisualItem_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.AUDIO_VISUAL_ITEM__MINUTES_LENGTH,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AudioVisualItem_minutesLength_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AudioVisualItem_minutesLength_feature", "_UI_AudioVisualItem_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.AUDIO_VISUAL_ITEM__MINUTES_LENGTH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Damaged feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Damaged feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addDamagedPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_AudioVisualItem_damaged_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_AudioVisualItem_damaged_feature", "_UI_AudioVisualItem_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.AUDIO_VISUAL_ITEM__DAMAGED,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AudioVisualItem_damaged_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_AudioVisualItem_damaged_feature", "_UI_AudioVisualItem_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.AUDIO_VISUAL_ITEM__DAMAGED,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    String label = ((AudioVisualItem)object).getTitle();
-    return label == null || label.length() == 0 ?
-      getString("_UI_AudioVisualItem_type") : //$NON-NLS-1$
-      getString("_UI_AudioVisualItem_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		String label = ((AudioVisualItem)object).getTitle();
+		return label == null || label.length() == 0 ?
+			getString("_UI_AudioVisualItem_type") : //$NON-NLS-1$
+			getString("_UI_AudioVisualItem_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
+		updateChildren(notification);
 
-    switch (notification.getFeatureID(AudioVisualItem.class))
-    {
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
-        fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-        return;
-    }
-    super.notifyChanged(notification);
-  }
+		switch (notification.getFeatureID(AudioVisualItem.class)) {
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
+				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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BookItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BookItemProvider.java
index 6c68377..f4a915c 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BookItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BookItemProvider.java
@@ -23,14 +23,8 @@
 
 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.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.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 import org.eclipse.emf.parsley.examples.library.Book;
@@ -44,137 +38,130 @@
  * @generated
  */
 public class BookItemProvider
-  extends CirculatingItemItemProvider
-  implements  
-    IEditingDomainItemProvider,  
-    IStructuredItemContentProvider,  
-    ITreeItemContentProvider,  
-    IItemLabelProvider,  
-    IItemPropertySource 
+  extends CirculatingItemItemProvider 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public BookItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addTitlePropertyDescriptor(object);
-      addPagesPropertyDescriptor(object);
-      addCategoryPropertyDescriptor(object);
-      addAuthorPropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addTitlePropertyDescriptor(object);
+			addPagesPropertyDescriptor(object);
+			addCategoryPropertyDescriptor(object);
+			addAuthorPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Title feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Title feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addTitlePropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Book_title_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Book_title_feature", "_UI_Book_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.BOOK__TITLE,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Book_title_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Book_title_feature", "_UI_Book_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.BOOK__TITLE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Pages feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Pages feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addPagesPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Book_pages_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Book_pages_feature", "_UI_Book_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.BOOK__PAGES,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Book_pages_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Book_pages_feature", "_UI_Book_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.BOOK__PAGES,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Category feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Category feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addCategoryPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Book_category_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Book_category_feature", "_UI_Book_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.BOOK__CATEGORY,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Book_category_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Book_category_feature", "_UI_Book_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.BOOK__CATEGORY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Author feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Author feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addAuthorPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Book_author_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Book_author_feature", "_UI_Book_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.BOOK__AUTHOR,
-         true,
-         false,
-         false,
-         null,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Book_author_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Book_author_feature", "_UI_Book_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.BOOK__AUTHOR,
+				 true,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
 
   /**
    * This returns Book.gif.
@@ -189,54 +176,53 @@
   }
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    String label = ((Book)object).getTitle();
-    return label == null || label.length() == 0 ?
-      getString("_UI_Book_type") : //$NON-NLS-1$
-      getString("_UI_Book_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		String label = ((Book)object).getTitle();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Book_type") : //$NON-NLS-1$
+			getString("_UI_Book_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
+		updateChildren(notification);
 
-    switch (notification.getFeatureID(Book.class))
-    {
-      case EXTLibraryPackage.BOOK__TITLE:
-      case EXTLibraryPackage.BOOK__PAGES:
-      case EXTLibraryPackage.BOOK__CATEGORY:
-        fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-        return;
-    }
-    super.notifyChanged(notification);
-  }
+		switch (notification.getFeatureID(Book.class)) {
+			case EXTLibraryPackage.BOOK__TITLE:
+			case EXTLibraryPackage.BOOK__PAGES:
+			case EXTLibraryPackage.BOOK__CATEGORY:
+				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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BookOnTapeItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BookOnTapeItemProvider.java
index a4ac4be..8e4d583 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BookOnTapeItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BookOnTapeItemProvider.java
@@ -23,14 +23,8 @@
 
 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.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.parsley.examples.library.BookOnTape;
 import org.eclipse.emf.parsley.examples.library.EXTLibraryPackage;
 
@@ -42,142 +36,135 @@
  * @generated
  */
 public class BookOnTapeItemProvider
-  extends AudioVisualItemItemProvider
-  implements  
-    IEditingDomainItemProvider,  
-    IStructuredItemContentProvider,  
-    ITreeItemContentProvider,  
-    IItemLabelProvider,  
-    IItemPropertySource 
+  extends AudioVisualItemItemProvider 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public BookOnTapeItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addReaderPropertyDescriptor(object);
-      addAuthorPropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addReaderPropertyDescriptor(object);
+			addAuthorPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Reader feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Reader feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addReaderPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_BookOnTape_reader_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_BookOnTape_reader_feature", "_UI_BookOnTape_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.BOOK_ON_TAPE__READER,
-         true,
-         false,
-         false,
-         null,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BookOnTape_reader_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_BookOnTape_reader_feature", "_UI_BookOnTape_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.BOOK_ON_TAPE__READER,
+				 true,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Author feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Author feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addAuthorPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_BookOnTape_author_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_BookOnTape_author_feature", "_UI_BookOnTape_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.BOOK_ON_TAPE__AUTHOR,
-         true,
-         false,
-         false,
-         null,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BookOnTape_author_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_BookOnTape_author_feature", "_UI_BookOnTape_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.BOOK_ON_TAPE__AUTHOR,
+				 true,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
 
   /**
-   * This returns BookOnTape.gif.
-   * <!-- begin-user-doc -->
+	 * This returns BookOnTape.gif.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object getImage(Object object)
   {
-    return overlayImage(object, getResourceLocator().getImage("full/obj16/BookOnTape")); //$NON-NLS-1$
-  }
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BookOnTape")); //$NON-NLS-1$
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    String label = ((BookOnTape)object).getTitle();
-    return label == null || label.length() == 0 ?
-      getString("_UI_BookOnTape_type") : //$NON-NLS-1$
-      getString("_UI_BookOnTape_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		String label = ((BookOnTape)object).getTitle();
+		return label == null || label.length() == 0 ?
+			getString("_UI_BookOnTape_type") : //$NON-NLS-1$
+			getString("_UI_BookOnTape_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
-    super.notifyChanged(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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BorrowerItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BorrowerItemProvider.java
index 87b84d0..045785a 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BorrowerItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/BorrowerItemProvider.java
@@ -23,14 +23,8 @@
 
 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.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.parsley.examples.library.Borrower;
 import org.eclipse.emf.parsley.examples.library.EXTLibraryPackage;
 
@@ -42,118 +36,111 @@
  * @generated
  */
 public class BorrowerItemProvider
-  extends PersonItemProvider
-  implements  
-    IEditingDomainItemProvider,  
-    IStructuredItemContentProvider,  
-    ITreeItemContentProvider,  
-    IItemLabelProvider,  
-    IItemPropertySource 
+  extends PersonItemProvider 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public BorrowerItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addBorrowedPropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addBorrowedPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Borrowed feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Borrowed feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addBorrowedPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Borrower_borrowed_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Borrower_borrowed_feature", "_UI_Borrower_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.BORROWER__BORROWED,
-         true,
-         false,
-         false,
-         null,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Borrower_borrowed_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Borrower_borrowed_feature", "_UI_Borrower_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.BORROWER__BORROWED,
+				 true,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
 
   /**
-   * This returns Borrower.gif.
-   * <!-- begin-user-doc -->
+	 * This returns Borrower.gif.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object getImage(Object object)
   {
-    return overlayImage(object, getResourceLocator().getImage("full/obj16/Borrower")); //$NON-NLS-1$
-  }
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Borrower")); //$NON-NLS-1$
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    String label = ((Borrower)object).getLastName();
-    return label == null || label.length() == 0 ?
-      getString("_UI_Borrower_type") : //$NON-NLS-1$
-      getString("_UI_Borrower_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		String label = ((Borrower)object).getLastName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Borrower_type") : //$NON-NLS-1$
+			getString("_UI_Borrower_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
-    super.notifyChanged(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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/CirculatingItemItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/CirculatingItemItemProvider.java
index 0335117..efbcf56 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/CirculatingItemItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/CirculatingItemItemProvider.java
@@ -24,14 +24,8 @@
 
 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.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.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 import org.eclipse.emf.parsley.examples.library.CirculatingItem;
@@ -45,150 +39,142 @@
  * @generated
  */
 public class CirculatingItemItemProvider
-  extends ItemItemProvider
-  implements  
-    IEditingDomainItemProvider,  
-    IStructuredItemContentProvider,  
-    ITreeItemContentProvider,  
-    IItemLabelProvider,  
-    IItemPropertySource 
+  extends ItemItemProvider 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public CirculatingItemItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addCopiesPropertyDescriptor(object);
-      addBorrowersPropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addCopiesPropertyDescriptor(object);
+			addBorrowersPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Copies feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Copies feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addCopiesPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Lendable_copies_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Lendable_copies_feature", "_UI_Lendable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.LENDABLE__COPIES,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Lendable_copies_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Lendable_copies_feature", "_UI_Lendable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.LENDABLE__COPIES,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Borrowers feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Borrowers feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addBorrowersPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Lendable_borrowers_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Lendable_borrowers_feature", "_UI_Lendable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.LENDABLE__BORROWERS,
-         true,
-         false,
-         false,
-         null,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Lendable_borrowers_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Lendable_borrowers_feature", "_UI_Lendable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.LENDABLE__BORROWERS,
+				 true,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
 
   /**
-   * This returns CirculatingItem.gif.
-   * <!-- begin-user-doc -->
+	 * This returns CirculatingItem.gif.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object getImage(Object object)
   {
-    return overlayImage(object, getResourceLocator().getImage("full/obj16/CirculatingItem")); //$NON-NLS-1$
-  }
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CirculatingItem")); //$NON-NLS-1$
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    Date labelValue = ((CirculatingItem)object).getPublicationDate();
-    String label = labelValue == null ? null : labelValue.toString();
-    return label == null || label.length() == 0 ?
-      getString("_UI_CirculatingItem_type") : //$NON-NLS-1$
-      getString("_UI_CirculatingItem_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		Date labelValue = ((CirculatingItem)object).getPublicationDate();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CirculatingItem_type") : //$NON-NLS-1$
+			getString("_UI_CirculatingItem_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
+		updateChildren(notification);
 
-    switch (notification.getFeatureID(CirculatingItem.class))
-    {
-      case EXTLibraryPackage.CIRCULATING_ITEM__COPIES:
-        fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-        return;
-    }
-    super.notifyChanged(notification);
-  }
+		switch (notification.getFeatureID(CirculatingItem.class)) {
+			case EXTLibraryPackage.CIRCULATING_ITEM__COPIES:
+				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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EXTLibraryEditPlugin.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EXTLibraryEditPlugin.java
index fb81048..07d2e0f 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EXTLibraryEditPlugin.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EXTLibraryEditPlugin.java
@@ -17,7 +17,6 @@
 package org.eclipse.emf.parsley.examples.library.provider;
 
 import org.eclipse.emf.common.EMFPlugin;
-
 import org.eclipse.emf.common.util.ResourceLocator;
 
 /**
@@ -29,82 +28,81 @@
 public final class EXTLibraryEditPlugin extends EMFPlugin 
 {
   /**
-   * Keep track of the singleton.
-   * <!-- begin-user-doc -->
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public static final EXTLibraryEditPlugin INSTANCE = new EXTLibraryEditPlugin();
 
   /**
-   * Keep track of the singleton.
-   * <!-- begin-user-doc -->
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private static Implementation plugin;
 
   /**
-   * Create the instance.
-   * <!-- begin-user-doc -->
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EXTLibraryEditPlugin()
   {
-    super
-      (new ResourceLocator [] 
-       {
-       });
-  }
+		super
+		  (new ResourceLocator [] {
+		   });
+	}
 
   /**
-   * Returns the singleton instance of the Eclipse plugin.
-   * <!-- begin-user-doc -->
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the singleton instance.
-   * @generated
-   */
+	 * @return the singleton instance.
+	 * @generated
+	 */
   @Override
   public ResourceLocator getPluginResourceLocator()
   {
-    return plugin;
-  }
+		return plugin;
+	}
 
   /**
-   * Returns the singleton instance of the Eclipse plugin.
-   * <!-- begin-user-doc -->
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the singleton instance.
-   * @generated
-   */
+	 * @return the singleton instance.
+	 * @generated
+	 */
   public static Implementation getPlugin()
   {
-    return plugin;
-  }
+		return plugin;
+	}
 
   /**
-   * The actual implementation of the Eclipse <b>Plugin</b>.
-   * <!-- begin-user-doc -->
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public static class Implementation extends EclipsePlugin 
   {
     /**
-     * Creates an instance.
-     * <!-- begin-user-doc -->
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     public Implementation()
     {
-      super();
+			super();
 
-      // Remember the static instance.
-      //
-      plugin = this;
-    }
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
   }
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EXTLibraryItemProviderAdapterFactory.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EXTLibraryItemProviderAdapterFactory.java
index 41ceadb..dc301e8 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EXTLibraryItemProviderAdapterFactory.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EXTLibraryItemProviderAdapterFactory.java
@@ -23,7 +23,6 @@
 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.edit.provider.ChangeNotifier;
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
@@ -50,363 +49,352 @@
 public class EXTLibraryItemProviderAdapterFactory extends EXTLibraryAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable 
 {
   /**
-   * This keeps track of the root adapter factory that delegates to this adapter factory.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected ComposedAdapterFactory parentAdapterFactory;
 
   /**
-   * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
-   * <!-- begin-user-doc -->
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IChangeNotifier changeNotifier = new ChangeNotifier();
 
   /**
-   * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
-   * <!-- begin-user-doc -->
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected Collection<Object> supportedTypes = new ArrayList<Object>();
 
   /**
-   * This constructs an instance.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EXTLibraryItemProviderAdapterFactory()
   {
-    supportedTypes.add(IEditingDomainItemProvider.class);
-    supportedTypes.add(IStructuredItemContentProvider.class);
-    supportedTypes.add(ITreeItemContentProvider.class);
-    supportedTypes.add(IItemLabelProvider.class);
-    supportedTypes.add(IItemPropertySource.class);
-  }
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
 
   /**
-   * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Book} instances.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Book} instances.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected BookItemProvider bookItemProvider;
 
   /**
-   * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Book}.
-   * <!-- begin-user-doc -->
+	 * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Book}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Adapter createBookAdapter()
   {
-    if (bookItemProvider == null)
-    {
-      bookItemProvider = new BookItemProvider(this);
-    }
+		if (bookItemProvider == null) {
+			bookItemProvider = new BookItemProvider(this);
+		}
 
-    return bookItemProvider;
-  }
+		return bookItemProvider;
+	}
 
   /**
-   * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Library} instances.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Library} instances.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected LibraryItemProvider libraryItemProvider;
 
   /**
-   * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Library}.
-   * <!-- begin-user-doc -->
+	 * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Library}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Adapter createLibraryAdapter()
   {
-    if (libraryItemProvider == null)
-    {
-      libraryItemProvider = new LibraryItemProvider(this);
-    }
+		if (libraryItemProvider == null) {
+			libraryItemProvider = new LibraryItemProvider(this);
+		}
 
-    return libraryItemProvider;
-  }
+		return libraryItemProvider;
+	}
 
   /**
-   * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Writer} instances.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Writer} instances.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected WriterItemProvider writerItemProvider;
 
   /**
-   * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Writer}.
-   * <!-- begin-user-doc -->
+	 * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Writer}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Adapter createWriterAdapter()
   {
-    if (writerItemProvider == null)
-    {
-      writerItemProvider = new WriterItemProvider(this);
-    }
+		if (writerItemProvider == null) {
+			writerItemProvider = new WriterItemProvider(this);
+		}
 
-    return writerItemProvider;
-  }
+		return writerItemProvider;
+	}
 
   /**
-   * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.BookOnTape} instances.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.BookOnTape} instances.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected BookOnTapeItemProvider bookOnTapeItemProvider;
 
   /**
-   * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.BookOnTape}.
-   * <!-- begin-user-doc -->
+	 * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.BookOnTape}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Adapter createBookOnTapeAdapter()
   {
-    if (bookOnTapeItemProvider == null)
-    {
-      bookOnTapeItemProvider = new BookOnTapeItemProvider(this);
-    }
+		if (bookOnTapeItemProvider == null) {
+			bookOnTapeItemProvider = new BookOnTapeItemProvider(this);
+		}
 
-    return bookOnTapeItemProvider;
-  }
+		return bookOnTapeItemProvider;
+	}
 
   /**
-   * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.VideoCassette} instances.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.VideoCassette} instances.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected VideoCassetteItemProvider videoCassetteItemProvider;
 
   /**
-   * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.VideoCassette}.
-   * <!-- begin-user-doc -->
+	 * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.VideoCassette}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Adapter createVideoCassetteAdapter()
   {
-    if (videoCassetteItemProvider == null)
-    {
-      videoCassetteItemProvider = new VideoCassetteItemProvider(this);
-    }
+		if (videoCassetteItemProvider == null) {
+			videoCassetteItemProvider = new VideoCassetteItemProvider(this);
+		}
 
-    return videoCassetteItemProvider;
-  }
+		return videoCassetteItemProvider;
+	}
 
   /**
-   * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Borrower} instances.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Borrower} instances.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected BorrowerItemProvider borrowerItemProvider;
 
   /**
-   * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Borrower}.
-   * <!-- begin-user-doc -->
+	 * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Borrower}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Adapter createBorrowerAdapter()
   {
-    if (borrowerItemProvider == null)
-    {
-      borrowerItemProvider = new BorrowerItemProvider(this);
-    }
+		if (borrowerItemProvider == null) {
+			borrowerItemProvider = new BorrowerItemProvider(this);
+		}
 
-    return borrowerItemProvider;
-  }
+		return borrowerItemProvider;
+	}
 
   /**
-   * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Person} instances.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Person} instances.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected PersonItemProvider personItemProvider;
 
   /**
-   * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Person}.
-   * <!-- begin-user-doc -->
+	 * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Person}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Adapter createPersonAdapter()
   {
-    if (personItemProvider == null)
-    {
-      personItemProvider = new PersonItemProvider(this);
-    }
+		if (personItemProvider == null) {
+			personItemProvider = new PersonItemProvider(this);
+		}
 
-    return personItemProvider;
-  }
+		return personItemProvider;
+	}
 
   /**
-   * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Employee} instances.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the one adapter used for all {@link org.eclipse.emf.parsley.examples.library.Employee} instances.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected EmployeeItemProvider employeeItemProvider;
 
   /**
-   * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Employee}.
-   * <!-- begin-user-doc -->
+	 * This creates an adapter for a {@link org.eclipse.emf.parsley.examples.library.Employee}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Adapter createEmployeeAdapter()
   {
-    if (employeeItemProvider == null)
-    {
-      employeeItemProvider = new EmployeeItemProvider(this);
-    }
+		if (employeeItemProvider == null) {
+			employeeItemProvider = new EmployeeItemProvider(this);
+		}
 
-    return employeeItemProvider;
-  }
+		return employeeItemProvider;
+	}
 
   /**
-   * This returns the root adapter factory that contains this factory.
-   * <!-- begin-user-doc -->
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public ComposeableAdapterFactory getRootAdapterFactory()
   {
-    return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
-  }
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
 
   /**
-   * This sets the composed adapter factory that contains this factory.
-   * <!-- begin-user-doc -->
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)
   {
-    this.parentAdapterFactory = parentAdapterFactory;
-  }
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean isFactoryForType(Object type)
   {
-    return supportedTypes.contains(type) || super.isFactoryForType(type);
-  }
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
 
   /**
-   * This implementation substitutes the factory itself as the key for the adapter.
-   * <!-- begin-user-doc -->
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Adapter adapt(Notifier notifier, Object type)
   {
-    return super.adapt(notifier, this);
-  }
+		return super.adapt(notifier, this);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object adapt(Object object, Object type)
   {
-    if (isFactoryForType(type))
-    {
-      Object adapter = super.adapt(object, type);
-      if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter)))
-      {
-        return adapter;
-      }
-    }
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
 
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * This adds a listener.
-   * <!-- begin-user-doc -->
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void addListener(INotifyChangedListener notifyChangedListener)
   {
-    changeNotifier.addListener(notifyChangedListener);
-  }
+		changeNotifier.addListener(notifyChangedListener);
+	}
 
   /**
-   * This removes a listener.
-   * <!-- begin-user-doc -->
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void removeListener(INotifyChangedListener notifyChangedListener)
   {
-    changeNotifier.removeListener(notifyChangedListener);
-  }
+		changeNotifier.removeListener(notifyChangedListener);
+	}
 
   /**
-   * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
-   * <!-- begin-user-doc -->
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void fireNotifyChanged(Notification notification)
   {
-    changeNotifier.fireNotifyChanged(notification);
+		changeNotifier.fireNotifyChanged(notification);
 
-    if (parentAdapterFactory != null)
-    {
-      parentAdapterFactory.fireNotifyChanged(notification);
-    }
-  }
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
 
   /**
-   * This disposes all of the item providers created by this factory. 
-   * <!-- begin-user-doc -->
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void dispose()
   {
-    if (bookItemProvider != null) bookItemProvider.dispose();
-    if (libraryItemProvider != null) libraryItemProvider.dispose();
-    if (writerItemProvider != null) writerItemProvider.dispose();
-    if (bookOnTapeItemProvider != null) bookOnTapeItemProvider.dispose();
-    if (videoCassetteItemProvider != null) videoCassetteItemProvider.dispose();
-    if (borrowerItemProvider != null) borrowerItemProvider.dispose();
-    if (personItemProvider != null) personItemProvider.dispose();
-    if (employeeItemProvider != null) employeeItemProvider.dispose();
-  }
+		if (bookItemProvider != null) bookItemProvider.dispose();
+		if (libraryItemProvider != null) libraryItemProvider.dispose();
+		if (writerItemProvider != null) writerItemProvider.dispose();
+		if (bookOnTapeItemProvider != null) bookOnTapeItemProvider.dispose();
+		if (videoCassetteItemProvider != null) videoCassetteItemProvider.dispose();
+		if (borrowerItemProvider != null) borrowerItemProvider.dispose();
+		if (personItemProvider != null) personItemProvider.dispose();
+		if (employeeItemProvider != null) employeeItemProvider.dispose();
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EmployeeItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EmployeeItemProvider.java
index 978ac24..b2736ef 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EmployeeItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/EmployeeItemProvider.java
@@ -23,14 +23,8 @@
 
 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.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.parsley.examples.library.EXTLibraryPackage;
 import org.eclipse.emf.parsley.examples.library.Employee;
 
@@ -42,118 +36,111 @@
  * @generated
  */
 public class EmployeeItemProvider
-  extends PersonItemProvider
-  implements  
-    IEditingDomainItemProvider,  
-    IStructuredItemContentProvider,  
-    ITreeItemContentProvider,  
-    IItemLabelProvider,  
-    IItemPropertySource 
+  extends PersonItemProvider 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EmployeeItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addManagerPropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addManagerPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Manager feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Manager feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addManagerPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Employee_manager_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Employee_manager_feature", "_UI_Employee_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.EMPLOYEE__MANAGER,
-         true,
-         false,
-         false,
-         null,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Employee_manager_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Employee_manager_feature", "_UI_Employee_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.EMPLOYEE__MANAGER,
+				 true,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
 
   /**
-   * This returns Employee.gif.
-   * <!-- begin-user-doc -->
+	 * This returns Employee.gif.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object getImage(Object object)
   {
-    return overlayImage(object, getResourceLocator().getImage("full/obj16/Employee")); //$NON-NLS-1$
-  }
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Employee")); //$NON-NLS-1$
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    String label = ((Employee)object).getLastName();
-    return label == null || label.length() == 0 ?
-      getString("_UI_Employee_type") : //$NON-NLS-1$
-      getString("_UI_Employee_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		String label = ((Employee)object).getLastName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Employee_type") : //$NON-NLS-1$
+			getString("_UI_Employee_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
-    super.notifyChanged(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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/ItemItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/ItemItemProvider.java
index 274beab..c39d337 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/ItemItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/ItemItemProvider.java
@@ -24,9 +24,7 @@
 
 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;
@@ -57,117 +55,115 @@
     IItemPropertySource 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public ItemItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addPublicationDatePropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addPublicationDatePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Publication Date feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Publication Date feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addPublicationDatePropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Item_publicationDate_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Item_publicationDate_feature", "_UI_Item_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.ITEM__PUBLICATION_DATE,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Item_publicationDate_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Item_publicationDate_feature", "_UI_Item_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.ITEM__PUBLICATION_DATE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    Date labelValue = ((Item)object).getPublicationDate();
-    String label = labelValue == null ? null : labelValue.toString();
-    return label == null || label.length() == 0 ?
-      getString("_UI_Item_type") : //$NON-NLS-1$
-      getString("_UI_Item_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		Date labelValue = ((Item)object).getPublicationDate();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Item_type") : //$NON-NLS-1$
+			getString("_UI_Item_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
+		updateChildren(notification);
 
-    switch (notification.getFeatureID(Item.class))
-    {
-      case EXTLibraryPackage.ITEM__PUBLICATION_DATE:
-        fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-        return;
-    }
-    super.notifyChanged(notification);
-  }
+		switch (notification.getFeatureID(Item.class)) {
+			case EXTLibraryPackage.ITEM__PUBLICATION_DATE:
+				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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
   /**
-   * Return the resource locator for this item provider's resources.
-   * <!-- begin-user-doc -->
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public ResourceLocator getResourceLocator()
   {
-    return EXTLibraryEditPlugin.INSTANCE;
-  }
+		return EXTLibraryEditPlugin.INSTANCE;
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/LibraryItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/LibraryItemProvider.java
index ee2b45a..061dd01 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/LibraryItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/LibraryItemProvider.java
@@ -23,11 +23,8 @@
 
 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.ecore.EStructuralFeature;
-
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -59,256 +56,253 @@
     IItemPropertySource 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public LibraryItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addAddressPropertyDescriptor(object);
-      addNamePropertyDescriptor(object);
-      addBooksPropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addAddressPropertyDescriptor(object);
+			addNamePropertyDescriptor(object);
+			addBooksPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Address feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Address feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addAddressPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Addressable_address_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Addressable_address_feature", "_UI_Addressable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.ADDRESSABLE__ADDRESS,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Addressable_address_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Addressable_address_feature", "_UI_Addressable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.ADDRESSABLE__ADDRESS,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Name feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Name feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addNamePropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Library_name_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Library_name_feature", "_UI_Library_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.LIBRARY__NAME,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Library_name_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Library_name_feature", "_UI_Library_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.LIBRARY__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Books feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Books feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addBooksPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Library_books_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Library_books_feature", "_UI_Library_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.LIBRARY__BOOKS,
-         false,
-         false,
-         false,
-         null,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Library_books_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Library_books_feature", "_UI_Library_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.LIBRARY__BOOKS,
+				 false,
+				 false,
+				 false,
+				 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}.
-   * <!-- begin-user-doc -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
   {
-    if (childrenFeatures == null)
-    {
-      super.getChildrenFeatures(object);
-      childrenFeatures.add(EXTLibraryPackage.Literals.LIBRARY__WRITERS);
-      childrenFeatures.add(EXTLibraryPackage.Literals.LIBRARY__EMPLOYEES);
-      childrenFeatures.add(EXTLibraryPackage.Literals.LIBRARY__BORROWERS);
-      childrenFeatures.add(EXTLibraryPackage.Literals.LIBRARY__STOCK);
-      childrenFeatures.add(EXTLibraryPackage.Literals.LIBRARY__BRANCHES);
-    }
-    return childrenFeatures;
-  }
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(EXTLibraryPackage.Literals.LIBRARY__WRITERS);
+			childrenFeatures.add(EXTLibraryPackage.Literals.LIBRARY__EMPLOYEES);
+			childrenFeatures.add(EXTLibraryPackage.Literals.LIBRARY__BORROWERS);
+			childrenFeatures.add(EXTLibraryPackage.Literals.LIBRARY__STOCK);
+			childrenFeatures.add(EXTLibraryPackage.Literals.LIBRARY__BRANCHES);
+		}
+		return childrenFeatures;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @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.
+		// 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);
-  }
+		return super.getChildFeature(object, child);
+	}
 
   /**
-   * This returns Library.gif.
-   * <!-- begin-user-doc -->
+	 * This returns Library.gif.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object getImage(Object object)
   {
-    return overlayImage(object, getResourceLocator().getImage("full/obj16/Library")); //$NON-NLS-1$
-  }
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Library")); //$NON-NLS-1$
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    String label = ((Library)object).getName();
-    return label == null || label.length() == 0 ?
-      getString("_UI_Library_type") : //$NON-NLS-1$
-      getString("_UI_Library_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		String label = ((Library)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Library_type") : //$NON-NLS-1$
+			getString("_UI_Library_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
+		updateChildren(notification);
 
-    switch (notification.getFeatureID(Library.class))
-    {
-      case EXTLibraryPackage.LIBRARY__ADDRESS:
-      case EXTLibraryPackage.LIBRARY__NAME:
-        fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-        return;
-      case EXTLibraryPackage.LIBRARY__WRITERS:
-      case EXTLibraryPackage.LIBRARY__EMPLOYEES:
-      case EXTLibraryPackage.LIBRARY__BORROWERS:
-      case EXTLibraryPackage.LIBRARY__STOCK:
-      case EXTLibraryPackage.LIBRARY__BRANCHES:
-        fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-        return;
-    }
-    super.notifyChanged(notification);
-  }
+		switch (notification.getFeatureID(Library.class)) {
+			case EXTLibraryPackage.LIBRARY__ADDRESS:
+			case EXTLibraryPackage.LIBRARY__NAME:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case EXTLibraryPackage.LIBRARY__WRITERS:
+			case EXTLibraryPackage.LIBRARY__EMPLOYEES:
+			case EXTLibraryPackage.LIBRARY__BORROWERS:
+			case EXTLibraryPackage.LIBRARY__STOCK:
+			case EXTLibraryPackage.LIBRARY__BRANCHES:
+				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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
+		super.collectNewChildDescriptors(newChildDescriptors, object);
 
-    newChildDescriptors.add
-      (createChildParameter
-        (EXTLibraryPackage.Literals.LIBRARY__WRITERS,
-         EXTLibraryFactory.eINSTANCE.createWriter()));
+		newChildDescriptors.add
+			(createChildParameter
+				(EXTLibraryPackage.Literals.LIBRARY__WRITERS,
+				 EXTLibraryFactory.eINSTANCE.createWriter()));
 
-    newChildDescriptors.add
-      (createChildParameter
-        (EXTLibraryPackage.Literals.LIBRARY__EMPLOYEES,
-         EXTLibraryFactory.eINSTANCE.createEmployee()));
+		newChildDescriptors.add
+			(createChildParameter
+				(EXTLibraryPackage.Literals.LIBRARY__EMPLOYEES,
+				 EXTLibraryFactory.eINSTANCE.createEmployee()));
 
-    newChildDescriptors.add
-      (createChildParameter
-        (EXTLibraryPackage.Literals.LIBRARY__BORROWERS,
-         EXTLibraryFactory.eINSTANCE.createBorrower()));
+		newChildDescriptors.add
+			(createChildParameter
+				(EXTLibraryPackage.Literals.LIBRARY__BORROWERS,
+				 EXTLibraryFactory.eINSTANCE.createBorrower()));
 
-    newChildDescriptors.add
-      (createChildParameter
-        (EXTLibraryPackage.Literals.LIBRARY__STOCK,
-         EXTLibraryFactory.eINSTANCE.createBook()));
+		newChildDescriptors.add
+			(createChildParameter
+				(EXTLibraryPackage.Literals.LIBRARY__STOCK,
+				 EXTLibraryFactory.eINSTANCE.createBook()));
 
-    newChildDescriptors.add
-      (createChildParameter
-        (EXTLibraryPackage.Literals.LIBRARY__STOCK,
-         EXTLibraryFactory.eINSTANCE.createBookOnTape()));
+		newChildDescriptors.add
+			(createChildParameter
+				(EXTLibraryPackage.Literals.LIBRARY__STOCK,
+				 EXTLibraryFactory.eINSTANCE.createBookOnTape()));
 
-    newChildDescriptors.add
-      (createChildParameter
-        (EXTLibraryPackage.Literals.LIBRARY__STOCK,
-         EXTLibraryFactory.eINSTANCE.createVideoCassette()));
+		newChildDescriptors.add
+			(createChildParameter
+				(EXTLibraryPackage.Literals.LIBRARY__STOCK,
+				 EXTLibraryFactory.eINSTANCE.createVideoCassette()));
 
-    newChildDescriptors.add
-      (createChildParameter
-        (EXTLibraryPackage.Literals.LIBRARY__BRANCHES,
-         EXTLibraryFactory.eINSTANCE.createLibrary()));
-  }
+		newChildDescriptors.add
+			(createChildParameter
+				(EXTLibraryPackage.Literals.LIBRARY__BRANCHES,
+				 EXTLibraryFactory.eINSTANCE.createLibrary()));
+	}
 
   /**
-   * Return the resource locator for this item provider's resources.
-   * <!-- begin-user-doc -->
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public ResourceLocator getResourceLocator()
   {
-    return EXTLibraryEditPlugin.INSTANCE;
-  }
+		return EXTLibraryEditPlugin.INSTANCE;
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/PeriodicalItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/PeriodicalItemProvider.java
index 0e23707..3ad2506 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/PeriodicalItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/PeriodicalItemProvider.java
@@ -23,14 +23,8 @@
 
 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.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.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 import org.eclipse.emf.parsley.examples.library.EXTLibraryPackage;
@@ -44,138 +38,130 @@
  * @generated
  */
 public class PeriodicalItemProvider
-  extends ItemItemProvider
-  implements  
-    IEditingDomainItemProvider,  
-    IStructuredItemContentProvider,  
-    ITreeItemContentProvider,  
-    IItemLabelProvider,  
-    IItemPropertySource 
+  extends ItemItemProvider 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public PeriodicalItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addTitlePropertyDescriptor(object);
-      addIssuesPerYearPropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addTitlePropertyDescriptor(object);
+			addIssuesPerYearPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Title feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Title feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addTitlePropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Periodical_title_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Periodical_title_feature", "_UI_Periodical_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.PERIODICAL__TITLE,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Periodical_title_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Periodical_title_feature", "_UI_Periodical_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.PERIODICAL__TITLE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Issues Per Year feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Issues Per Year feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addIssuesPerYearPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Periodical_issuesPerYear_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Periodical_issuesPerYear_feature", "_UI_Periodical_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.PERIODICAL__ISSUES_PER_YEAR,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Periodical_issuesPerYear_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Periodical_issuesPerYear_feature", "_UI_Periodical_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.PERIODICAL__ISSUES_PER_YEAR,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    String label = ((Periodical)object).getTitle();
-    return label == null || label.length() == 0 ?
-      getString("_UI_Periodical_type") : //$NON-NLS-1$
-      getString("_UI_Periodical_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		String label = ((Periodical)object).getTitle();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Periodical_type") : //$NON-NLS-1$
+			getString("_UI_Periodical_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
+		updateChildren(notification);
 
-    switch (notification.getFeatureID(Periodical.class))
-    {
-      case EXTLibraryPackage.PERIODICAL__TITLE:
-      case EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
-        fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-        return;
-    }
-    super.notifyChanged(notification);
-  }
+		switch (notification.getFeatureID(Periodical.class)) {
+			case EXTLibraryPackage.PERIODICAL__TITLE:
+			case EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
+				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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/PersonItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/PersonItemProvider.java
index 449e577..04cdeb9 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/PersonItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/PersonItemProvider.java
@@ -23,9 +23,7 @@
 
 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;
@@ -56,178 +54,176 @@
     IItemPropertySource 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public PersonItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addAddressPropertyDescriptor(object);
-      addFirstNamePropertyDescriptor(object);
-      addLastNamePropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addAddressPropertyDescriptor(object);
+			addFirstNamePropertyDescriptor(object);
+			addLastNamePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Address feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Address feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addAddressPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Addressable_address_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Addressable_address_feature", "_UI_Addressable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.ADDRESSABLE__ADDRESS,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Addressable_address_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Addressable_address_feature", "_UI_Addressable_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.ADDRESSABLE__ADDRESS,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the First Name feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the First Name feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addFirstNamePropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Person_firstName_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Person_firstName_feature", "_UI_Person_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.PERSON__FIRST_NAME,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Person_firstName_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Person_firstName_feature", "_UI_Person_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.PERSON__FIRST_NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Last Name feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Last Name feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addLastNamePropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Person_lastName_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Person_lastName_feature", "_UI_Person_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.PERSON__LAST_NAME,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Person_lastName_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Person_lastName_feature", "_UI_Person_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.PERSON__LAST_NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This returns Person.gif.
-   * <!-- begin-user-doc -->
+	 * This returns Person.gif.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object getImage(Object object)
   {
-    return overlayImage(object, getResourceLocator().getImage("full/obj16/Person")); //$NON-NLS-1$
-  }
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Person")); //$NON-NLS-1$
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    String label = ((Person)object).getLastName();
-    return label == null || label.length() == 0 ?
-      getString("_UI_Person_type") : //$NON-NLS-1$
-      getString("_UI_Person_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		String label = ((Person)object).getLastName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Person_type") : //$NON-NLS-1$
+			getString("_UI_Person_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
+		updateChildren(notification);
 
-    switch (notification.getFeatureID(Person.class))
-    {
-      case EXTLibraryPackage.PERSON__ADDRESS:
-      case EXTLibraryPackage.PERSON__FIRST_NAME:
-      case EXTLibraryPackage.PERSON__LAST_NAME:
-        fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-        return;
-    }
-    super.notifyChanged(notification);
-  }
+		switch (notification.getFeatureID(Person.class)) {
+			case EXTLibraryPackage.PERSON__ADDRESS:
+			case EXTLibraryPackage.PERSON__FIRST_NAME:
+			case EXTLibraryPackage.PERSON__LAST_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
   /**
-   * Return the resource locator for this item provider's resources.
-   * <!-- begin-user-doc -->
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public ResourceLocator getResourceLocator()
   {
-    return EXTLibraryEditPlugin.INSTANCE;
-  }
+		return EXTLibraryEditPlugin.INSTANCE;
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/VideoCassetteItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/VideoCassetteItemProvider.java
index e5581ae..372cc91 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/VideoCassetteItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/VideoCassetteItemProvider.java
@@ -23,14 +23,8 @@
 
 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.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.parsley.examples.library.EXTLibraryPackage;
 import org.eclipse.emf.parsley.examples.library.VideoCassette;
 
@@ -42,118 +36,111 @@
  * @generated
  */
 public class VideoCassetteItemProvider
-  extends AudioVisualItemItemProvider
-  implements  
-    IEditingDomainItemProvider,  
-    IStructuredItemContentProvider,  
-    ITreeItemContentProvider,  
-    IItemLabelProvider,  
-    IItemPropertySource 
+  extends AudioVisualItemItemProvider 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public VideoCassetteItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addCastPropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addCastPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Cast feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Cast feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addCastPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_VideoCassette_cast_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_VideoCassette_cast_feature", "_UI_VideoCassette_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.VIDEO_CASSETTE__CAST,
-         true,
-         false,
-         false,
-         null,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_VideoCassette_cast_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_VideoCassette_cast_feature", "_UI_VideoCassette_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.VIDEO_CASSETTE__CAST,
+				 true,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
 
   /**
-   * This returns VideoCassette.gif.
-   * <!-- begin-user-doc -->
+	 * This returns VideoCassette.gif.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object getImage(Object object)
   {
-    return overlayImage(object, getResourceLocator().getImage("full/obj16/VideoCassette")); //$NON-NLS-1$
-  }
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/VideoCassette")); //$NON-NLS-1$
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    String label = ((VideoCassette)object).getTitle();
-    return label == null || label.length() == 0 ?
-      getString("_UI_VideoCassette_type") : //$NON-NLS-1$
-      getString("_UI_VideoCassette_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		String label = ((VideoCassette)object).getTitle();
+		return label == null || label.length() == 0 ?
+			getString("_UI_VideoCassette_type") : //$NON-NLS-1$
+			getString("_UI_VideoCassette_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
-    super.notifyChanged(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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/WriterItemProvider.java b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/WriterItemProvider.java
index 971155f..f4aa375 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/WriterItemProvider.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/src/org/eclipse/emf/parsley/examples/library/provider/WriterItemProvider.java
@@ -23,14 +23,8 @@
 
 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.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.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 import org.eclipse.emf.parsley.examples.library.EXTLibraryPackage;
@@ -44,149 +38,141 @@
  * @generated
  */
 public class WriterItemProvider
-  extends PersonItemProvider
-  implements  
-    IEditingDomainItemProvider,  
-    IStructuredItemContentProvider,  
-    ITreeItemContentProvider,  
-    IItemLabelProvider,  
-    IItemPropertySource 
+  extends PersonItemProvider 
 {
   /**
-   * This constructs an instance from a factory and a notifier.
-   * <!-- begin-user-doc -->
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public WriterItemProvider(AdapterFactory adapterFactory)
   {
-    super(adapterFactory);
-  }
+		super(adapterFactory);
+	}
 
   /**
-   * This returns the property descriptors for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
   {
-    if (itemPropertyDescriptors == null)
-    {
-      super.getPropertyDescriptors(object);
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
 
-      addNamePropertyDescriptor(object);
-      addBooksPropertyDescriptor(object);
-    }
-    return itemPropertyDescriptors;
-  }
+			addNamePropertyDescriptor(object);
+			addBooksPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
 
   /**
-   * This adds a property descriptor for the Name feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Name feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addNamePropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Writer_name_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Writer_name_feature", "_UI_Writer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.WRITER__NAME,
-         true,
-         false,
-         false,
-         ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Writer_name_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Writer_name_feature", "_UI_Writer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.WRITER__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
 
   /**
-   * This adds a property descriptor for the Books feature.
-   * <!-- begin-user-doc -->
+	 * This adds a property descriptor for the Books feature.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void addBooksPropertyDescriptor(Object object)
   {
-    itemPropertyDescriptors.add
-      (createItemPropertyDescriptor
-        (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-         getResourceLocator(),
-         getString("_UI_Writer_books_feature"), //$NON-NLS-1$
-         getString("_UI_PropertyDescriptor_description", "_UI_Writer_books_feature", "_UI_Writer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-         EXTLibraryPackage.Literals.WRITER__BOOKS,
-         true,
-         false,
-         false,
-         null,
-         null,
-         null));
-  }
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Writer_books_feature"), //$NON-NLS-1$
+				 getString("_UI_PropertyDescriptor_description", "_UI_Writer_books_feature", "_UI_Writer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				 EXTLibraryPackage.Literals.WRITER__BOOKS,
+				 true,
+				 false,
+				 false,
+				 null,
+				 null,
+				 null));
+	}
 
   /**
-   * This returns Writer.gif.
-   * <!-- begin-user-doc -->
+	 * This returns Writer.gif.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object getImage(Object object)
   {
-    return overlayImage(object, getResourceLocator().getImage("full/obj16/Writer")); //$NON-NLS-1$
-  }
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Writer")); //$NON-NLS-1$
+	}
 
   /**
-   * This returns the label text for the adapted class.
-   * <!-- begin-user-doc -->
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String getText(Object object)
   {
-    String label = ((Writer)object).getName();
-    return label == null || label.length() == 0 ?
-      getString("_UI_Writer_type") : //$NON-NLS-1$
-      getString("_UI_Writer_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
-  }
+		String label = ((Writer)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Writer_type") : //$NON-NLS-1$
+			getString("_UI_Writer_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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   public void notifyChanged(Notification notification)
   {
-    updateChildren(notification);
+		updateChildren(notification);
 
-    switch (notification.getFeatureID(Writer.class))
-    {
-      case EXTLibraryPackage.WRITER__NAME:
-        fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-        return;
-    }
-    super.notifyChanged(notification);
-  }
+		switch (notification.getFeatureID(Writer.class)) {
+			case EXTLibraryPackage.WRITER__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 -->
+	 * 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
-   */
+	 * @generated
+	 */
   @Override
   protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
   {
-    super.collectNewChildDescriptors(newChildDescriptors, object);
-  }
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.editor/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.library.editor/META-INF/MANIFEST.MF
index 533decb..1ac19e7 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.editor/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.library.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.library.editor;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.parsley.examples.library.presentation.EXTLibraryEditorPlugin$Implementation
 Bundle-Vendor: Eclipse Modeling Project
diff --git a/examples/org.eclipse.emf.parsley.examples.library.editor/pom.xml b/examples/org.eclipse.emf.parsley.examples.library.editor/pom.xml
index 34103fa..5a81766 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.editor/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.library.editor/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.library.editor</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryActionBarContributor.java b/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryActionBarContributor.java
index 1542941..ffe6027 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryActionBarContributor.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryActionBarContributor.java
@@ -64,420 +64,389 @@
 public class EXTLibraryActionBarContributor extends EditingDomainActionBarContributor implements ISelectionChangedListener
 {
   /**
-   * This keeps track of the active editor.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the active editor.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IEditorPart activeEditorPart;
 
   /**
-   * This keeps track of the current selection provider.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the current selection provider.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected ISelectionProvider selectionProvider;
 
   /**
-   * This action opens the Properties view.
-   * <!-- begin-user-doc -->
+	 * This action opens the Properties view.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IAction showPropertiesViewAction =
     new Action(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) //$NON-NLS-1$
-    {
-      @Override
-      public void run()
-      {
-        try
-        {
-          getPage().showView("org.eclipse.ui.views.PropertySheet"); //$NON-NLS-1$
-        }
-        catch (PartInitException exception)
-        {
-          EXTLibraryEditorPlugin.INSTANCE.log(exception);
-        }
-      }
-    };
+		{
+			@Override
+			public void run() {
+				try {
+					getPage().showView("org.eclipse.ui.views.PropertySheet"); //$NON-NLS-1$
+				}
+				catch (PartInitException exception) {
+					EXTLibraryEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
 
   /**
-   * This action refreshes the viewer of the current editor if the editor
-   * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
-   * <!-- begin-user-doc -->
+	 * This action refreshes the viewer of the current editor if the editor
+	 * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IAction refreshViewerAction =
     new Action(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) //$NON-NLS-1$
-    {
-      @Override
-      public boolean isEnabled()
-      {
-        return activeEditorPart instanceof IViewerProvider;
-      }
+		{
+			@Override
+			public boolean isEnabled() {
+				return activeEditorPart instanceof IViewerProvider;
+			}
 
-      @Override
-      public void run()
-      {
-        if (activeEditorPart instanceof IViewerProvider)
-        {
-          Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
-          if (viewer != null)
-          {
-            viewer.refresh();
-          }
-        }
-      }
-    };
+			@Override
+			public void run() {
+				if (activeEditorPart instanceof IViewerProvider) {
+					Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+					if (viewer != null) {
+						viewer.refresh();
+					}
+				}
+			}
+		};
 
   /**
-   * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
-   * generated for the current selection by the item provider.
-   * <!-- begin-user-doc -->
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected Collection<IAction> createChildActions;
 
   /**
-   * This is the menu manager into which menu contribution items should be added for CreateChild actions.
-   * <!-- begin-user-doc -->
+	 * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IMenuManager createChildMenuManager;
 
   /**
-   * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
-   * generated for the current selection by the item provider.
-   * <!-- begin-user-doc -->
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected Collection<IAction> createSiblingActions;
 
   /**
-   * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
-   * <!-- begin-user-doc -->
+	 * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IMenuManager createSiblingMenuManager;
 
   /**
-   * This creates an instance of the contributor.
-   * <!-- begin-user-doc -->
+	 * This creates an instance of the contributor.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EXTLibraryActionBarContributor()
   {
-    super(ADDITIONS_LAST_STYLE);
-    loadResourceAction = new LoadResourceAction();
-    validateAction = new ValidateAction();
-    controlAction = new ControlAction();
-  }
+		super(ADDITIONS_LAST_STYLE);
+		loadResourceAction = new LoadResourceAction();
+		validateAction = new ValidateAction();
+		controlAction = new ControlAction();
+	}
 
   /**
-   * This adds Separators for editor additions to the tool bar.
-   * <!-- begin-user-doc -->
+	 * This adds Separators for editor additions to the tool bar.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void contributeToToolBar(IToolBarManager toolBarManager)
   {
-    toolBarManager.add(new Separator("extlibrary-settings")); //$NON-NLS-1$
-    toolBarManager.add(new Separator("extlibrary-additions")); //$NON-NLS-1$
-  }
+		toolBarManager.add(new Separator("extlibrary-settings")); //$NON-NLS-1$
+		toolBarManager.add(new Separator("extlibrary-additions")); //$NON-NLS-1$
+	}
 
   /**
-   * This adds to the menu bar a menu and some separators for editor additions,
-   * as well as the sub-menus for object creation items.
-   * <!-- begin-user-doc -->
+	 * This adds to the menu bar a menu and some separators for editor additions,
+	 * as well as the sub-menus for object creation items.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void contributeToMenu(IMenuManager menuManager)
   {
-    super.contributeToMenu(menuManager);
+		super.contributeToMenu(menuManager);
 
-    IMenuManager submenuManager = new MenuManager(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryEditor_menu"), "org.eclipse.emf.examples.extlibraryMenuID"); //$NON-NLS-1$ //$NON-NLS-2$
-    menuManager.insertAfter("additions", submenuManager); //$NON-NLS-1$
-    submenuManager.add(new Separator("settings")); //$NON-NLS-1$
-    submenuManager.add(new Separator("actions")); //$NON-NLS-1$
-    submenuManager.add(new Separator("additions")); //$NON-NLS-1$
-    submenuManager.add(new Separator("additions-end")); //$NON-NLS-1$
+		IMenuManager submenuManager = new MenuManager(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryEditor_menu"), "org.eclipse.emf.parsley.examples.libraryMenuID"); //$NON-NLS-1$ //$NON-NLS-2$
+		menuManager.insertAfter("additions", submenuManager); //$NON-NLS-1$
+		submenuManager.add(new Separator("settings")); //$NON-NLS-1$
+		submenuManager.add(new Separator("actions")); //$NON-NLS-1$
+		submenuManager.add(new Separator("additions")); //$NON-NLS-1$
+		submenuManager.add(new Separator("additions-end")); //$NON-NLS-1$
 
-    // Prepare for CreateChild item addition or removal.
-    //
-    createChildMenuManager = new MenuManager(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); //$NON-NLS-1$
-    submenuManager.insertBefore("additions", createChildMenuManager); //$NON-NLS-1$
+		// Prepare for CreateChild item addition or removal.
+		//
+		createChildMenuManager = new MenuManager(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); //$NON-NLS-1$
+		submenuManager.insertBefore("additions", createChildMenuManager); //$NON-NLS-1$
 
-    // Prepare for CreateSibling item addition or removal.
-    //
-    createSiblingMenuManager = new MenuManager(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$
-    submenuManager.insertBefore("additions", createSiblingMenuManager); //$NON-NLS-1$
+		// Prepare for CreateSibling item addition or removal.
+		//
+		createSiblingMenuManager = new MenuManager(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$
+		submenuManager.insertBefore("additions", createSiblingMenuManager); //$NON-NLS-1$
 
-    // Force an update because Eclipse hides empty menus now.
-    //
-    submenuManager.addMenuListener
-      (new IMenuListener()
-       {
-         public void menuAboutToShow(IMenuManager menuManager)
-         {
-           menuManager.updateAll(true);
-         }
-       });
+		// Force an update because Eclipse hides empty menus now.
+		//
+		submenuManager.addMenuListener
+			(new IMenuListener() {
+				 public void menuAboutToShow(IMenuManager menuManager) {
+					 menuManager.updateAll(true);
+				 }
+			 });
 
-    addGlobalActions(submenuManager);
-  }
+		addGlobalActions(submenuManager);
+	}
 
   /**
-   * When the active editor changes, this remembers the change and registers with it as a selection provider.
-   * <!-- begin-user-doc -->
+	 * When the active editor changes, this remembers the change and registers with it as a selection provider.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void setActiveEditor(IEditorPart part)
   {
-    super.setActiveEditor(part);
-    activeEditorPart = part;
+		super.setActiveEditor(part);
+		activeEditorPart = part;
 
-    // Switch to the new selection provider.
-    //
-    if (selectionProvider != null)
-    {
-      selectionProvider.removeSelectionChangedListener(this);
-    }
-    if (part == null)
-    {
-      selectionProvider = null;
-    }
-    else
-    {
-      selectionProvider = part.getSite().getSelectionProvider();
-      selectionProvider.addSelectionChangedListener(this);
+		// Switch to the new selection provider.
+		//
+		if (selectionProvider != null) {
+			selectionProvider.removeSelectionChangedListener(this);
+		}
+		if (part == null) {
+			selectionProvider = null;
+		}
+		else {
+			selectionProvider = part.getSite().getSelectionProvider();
+			selectionProvider.addSelectionChangedListener(this);
 
-      // Fake a selection changed event to update the menus.
-      //
-      if (selectionProvider.getSelection() != null)
-      {
-        selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
-      }
-    }
-  }
+			// Fake a selection changed event to update the menus.
+			//
+			if (selectionProvider.getSelection() != null) {
+				selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+			}
+		}
+	}
 
   /**
-   * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
-   * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
-   * that can be added to the selected object and updating the menus accordingly.
-   * <!-- begin-user-doc -->
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+	 * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+	 * that can be added to the selected object and updating the menus accordingly.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void selectionChanged(SelectionChangedEvent event)
   {
-    // Remove any menu items for old selection.
-    //
-    if (createChildMenuManager != null)
-    {
-      depopulateManager(createChildMenuManager, createChildActions);
-    }
-    if (createSiblingMenuManager != null)
-    {
-      depopulateManager(createSiblingMenuManager, createSiblingActions);
-    }
+		// Remove any menu items for old selection.
+		//
+		if (createChildMenuManager != null) {
+			depopulateManager(createChildMenuManager, createChildActions);
+		}
+		if (createSiblingMenuManager != null) {
+			depopulateManager(createSiblingMenuManager, createSiblingActions);
+		}
 
-    // Query the new selection for appropriate new child/sibling descriptors
-    //
-    Collection<?> newChildDescriptors = null;
-    Collection<?> newSiblingDescriptors = null;
+		// Query the new selection for appropriate new child/sibling descriptors
+		//
+		Collection<?> newChildDescriptors = null;
+		Collection<?> newSiblingDescriptors = null;
 
-    ISelection selection = event.getSelection();
-    if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1)
-    {
-      Object object = ((IStructuredSelection)selection).getFirstElement();
+		ISelection selection = event.getSelection();
+		if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+			Object object = ((IStructuredSelection)selection).getFirstElement();
 
-      EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+			EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
 
-      newChildDescriptors = domain.getNewChildDescriptors(object, null);
-      newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
-    }
+			newChildDescriptors = domain.getNewChildDescriptors(object, null);
+			newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+		}
 
-    // Generate actions for selection; populate and redraw the menus.
-    //
-    createChildActions = generateCreateChildActions(newChildDescriptors, selection);
-    createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+		// Generate actions for selection; populate and redraw the menus.
+		//
+		createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+		createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
 
-    if (createChildMenuManager != null)
-    {
-      populateManager(createChildMenuManager, createChildActions, null);
-      createChildMenuManager.update(true);
-    }
-    if (createSiblingMenuManager != null)
-    {
-      populateManager(createSiblingMenuManager, createSiblingActions, null);
-      createSiblingMenuManager.update(true);
-    }
-  }
+		if (createChildMenuManager != null) {
+			populateManager(createChildMenuManager, createChildActions, null);
+			createChildMenuManager.update(true);
+		}
+		if (createSiblingMenuManager != null) {
+			populateManager(createSiblingMenuManager, createSiblingActions, null);
+			createSiblingMenuManager.update(true);
+		}
+	}
 
   /**
-   * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
-   * and returns the collection of these actions.
-   * <!-- begin-user-doc -->
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection)
   {
-    Collection<IAction> actions = new ArrayList<IAction>();
-    if (descriptors != null)
-    {
-      for (Object descriptor : descriptors)
-      {
-        actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
-      }
-    }
-    return actions;
-  }
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
 
   /**
-   * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
-   * and returns the collection of these actions.
-   * <!-- begin-user-doc -->
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection)
   {
-    Collection<IAction> actions = new ArrayList<IAction>();
-    if (descriptors != null)
-    {
-      for (Object descriptor : descriptors)
-      {
-        actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
-      }
-    }
-    return actions;
-  }
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
 
   /**
-   * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
-   * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
-   * by inserting them before the specified contribution item <code>contributionID</code>.
-   * If <code>contributionID</code> is <code>null</code>, they are simply added.
-   * <!-- begin-user-doc -->
+	 * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+	 * by inserting them before the specified contribution item <code>contributionID</code>.
+	 * If <code>contributionID</code> is <code>null</code>, they are simply added.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID)
   {
-    if (actions != null)
-    {
-      for (IAction action : actions)
-      {
-        if (contributionID != null)
-        {
-          manager.insertBefore(contributionID, action);
-        }
-        else
-        {
-          manager.add(action);
-        }
-      }
-    }
-  }
+		if (actions != null) {
+			for (IAction action : actions) {
+				if (contributionID != null) {
+					manager.insertBefore(contributionID, action);
+				}
+				else {
+					manager.add(action);
+				}
+			}
+		}
+	}
     
   /**
-   * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
-   * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
-   * <!-- begin-user-doc -->
+	 * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions)
   {
-    if (actions != null)
-    {
-      IContributionItem[] items = manager.getItems();
-      for (int i = 0; i < items.length; i++)
-      {
-        // Look into SubContributionItems
-        //
-        IContributionItem contributionItem = items[i];
-        while (contributionItem instanceof SubContributionItem)
-        {
-          contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
-        }
+		if (actions != null) {
+			IContributionItem[] items = manager.getItems();
+			for (int i = 0; i < items.length; i++) {
+				// Look into SubContributionItems
+				//
+				IContributionItem contributionItem = items[i];
+				while (contributionItem instanceof SubContributionItem) {
+					contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+				}
 
-        // Delete the ActionContributionItems with matching action.
-        //
-        if (contributionItem instanceof ActionContributionItem)
-        {
-          IAction action = ((ActionContributionItem)contributionItem).getAction();
-          if (actions.contains(action))
-          {
-            manager.remove(contributionItem);
-          }
-        }
-      }
-    }
-  }
+				// Delete the ActionContributionItems with matching action.
+				//
+				if (contributionItem instanceof ActionContributionItem) {
+					IAction action = ((ActionContributionItem)contributionItem).getAction();
+					if (actions.contains(action)) {
+						manager.remove(contributionItem);
+					}
+				}
+			}
+		}
+	}
 
   /**
-   * This populates the pop-up menu before it appears.
-   * <!-- begin-user-doc -->
+	 * This populates the pop-up menu before it appears.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void menuAboutToShow(IMenuManager menuManager)
   {
-    super.menuAboutToShow(menuManager);
-    MenuManager submenuManager = null;
+		super.menuAboutToShow(menuManager);
+		MenuManager submenuManager = null;
 
-    submenuManager = new MenuManager(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); //$NON-NLS-1$
-    populateManager(submenuManager, createChildActions, null);
-    menuManager.insertBefore("edit", submenuManager); //$NON-NLS-1$
+		submenuManager = new MenuManager(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); //$NON-NLS-1$
+		populateManager(submenuManager, createChildActions, null);
+		menuManager.insertBefore("edit", submenuManager); //$NON-NLS-1$
 
-    submenuManager = new MenuManager(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$
-    populateManager(submenuManager, createSiblingActions, null);
-    menuManager.insertBefore("edit", submenuManager); //$NON-NLS-1$
-  }
+		submenuManager = new MenuManager(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); //$NON-NLS-1$
+		populateManager(submenuManager, createSiblingActions, null);
+		menuManager.insertBefore("edit", submenuManager); //$NON-NLS-1$
+	}
 
   /**
-   * This inserts global actions before the "additions-end" separator.
-   * <!-- begin-user-doc -->
+	 * This inserts global actions before the "additions-end" separator.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected void addGlobalActions(IMenuManager menuManager)
   {
-    menuManager.insertAfter("additions-end", new Separator("ui-actions")); //$NON-NLS-1$ //$NON-NLS-2$
-    menuManager.insertAfter("ui-actions", showPropertiesViewAction); //$NON-NLS-1$
+		menuManager.insertAfter("additions-end", new Separator("ui-actions")); //$NON-NLS-1$ //$NON-NLS-2$
+		menuManager.insertAfter("ui-actions", showPropertiesViewAction); //$NON-NLS-1$
 
-    refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());		
-    menuManager.insertAfter("ui-actions", refreshViewerAction); //$NON-NLS-1$
+		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());		
+		menuManager.insertAfter("ui-actions", refreshViewerAction); //$NON-NLS-1$
 
-    super.addGlobalActions(menuManager);
-  }
+		super.addGlobalActions(menuManager);
+	}
 
   /**
-   * This ensures that a delete action will clean up all references to deleted objects.
-   * <!-- begin-user-doc -->
+	 * This ensures that a delete action will clean up all references to deleted objects.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected boolean removeAllReferencesOnDelete()
   {
-    return true;
-  }
+		return true;
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryEditor.java b/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryEditor.java
index 67f96c8..2ced7c8 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryEditor.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryEditor.java
@@ -17,101 +17,75 @@
 package org.eclipse.emf.parsley.examples.library.presentation;
 
 
-import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CommandStack;
-import org.eclipse.emf.common.command.CommandStackListener;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.ui.MarkerHelper;
-import org.eclipse.emf.common.ui.ViewerPane;
-
-import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
-
-import org.eclipse.emf.common.ui.viewer.IViewerProvider;
-
-import org.eclipse.emf.common.util.BasicDiagnostic;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
-
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
-
-import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
-
-import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
-
-import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
-
-import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
-import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
-import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
-
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-
-import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
-import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
-
-import org.eclipse.emf.edit.ui.util.EditUIUtil;
-import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EValidator;
-
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-import org.eclipse.emf.ecore.util.EContentAdapter;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.parsley.examples.library.provider.EXTLibraryItemProviderAdapterFactory;
-
-
 import java.io.IOException;
-
 import java.io.InputStream;
-
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.EventObject;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
-
 import java.util.Map;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeListener;
 import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
 import org.eclipse.core.resources.IResourceDelta;
 import org.eclipse.core.resources.IResourceDeltaVisitor;
 import org.eclipse.core.resources.ResourcesPlugin;
-
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
-
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+import org.eclipse.emf.parsley.examples.library.provider.EXTLibraryItemProviderAdapterFactory;
 import org.eclipse.jface.action.IMenuListener;
 import org.eclipse.jface.action.IMenuManager;
 import org.eclipse.jface.action.IStatusLineManager;
 import org.eclipse.jface.action.IToolBarManager;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.action.Separator;
-
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -125,60 +99,41 @@
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
-
 import org.eclipse.swt.SWT;
-
 import org.eclipse.swt.custom.CTabFolder;
-
 import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
 import org.eclipse.swt.dnd.Transfer;
-
 import org.eclipse.swt.events.ControlAdapter;
 import org.eclipse.swt.events.ControlEvent;
-
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.FillLayout;
-
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Menu;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.swt.widgets.TableColumn;
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.swt.widgets.TreeColumn;
-
 import org.eclipse.ui.IActionBars;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.IPartListener;
 import org.eclipse.ui.IWorkbenchPart;
-
 import org.eclipse.ui.PartInitException;
-
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
 import org.eclipse.ui.dialogs.SaveAsDialog;
-
 import org.eclipse.ui.ide.IGotoMarker;
-
 import org.eclipse.ui.part.FileEditorInput;
 import org.eclipse.ui.part.MultiPageEditorPart;
-
 import org.eclipse.ui.views.contentoutline.ContentOutline;
 import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
 import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
 import org.eclipse.ui.views.properties.IPropertySheetPage;
 import org.eclipse.ui.views.properties.PropertySheet;
 import org.eclipse.ui.views.properties.PropertySheetPage;
 
 
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-
 /**
  * This is an example of a EXTLibrary model editor.
  * <!-- begin-user-doc -->
@@ -194,203 +149,192 @@
     IGotoMarker
 {
   /**
-   * This keeps track of the editing domain that is used to track all changes to the model.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the editing domain that is used to track all changes to the model.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected AdapterFactoryEditingDomain editingDomain;
 
   /**
-   * This is the one adapter factory used for providing views of the model.
-   * <!-- begin-user-doc -->
+	 * This is the one adapter factory used for providing views of the model.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected ComposedAdapterFactory adapterFactory;
 
   /**
-   * This is the content outline page.
-   * <!-- begin-user-doc -->
+	 * This is the content outline page.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IContentOutlinePage contentOutlinePage;
 
   /**
-   * This is a kludge...
-   * <!-- begin-user-doc -->
+	 * This is a kludge...
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IStatusLineManager contentOutlineStatusLineManager;
 
   /**
-   * This is the content outline page's viewer.
-   * <!-- begin-user-doc -->
+	 * This is the content outline page's viewer.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected TreeViewer contentOutlineViewer;
 
   /**
-   * This is the property sheet page.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @generated
-   */
-  protected PropertySheetPage propertySheetPage;
+	 * This is the property sheet page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
 
-  /**
-   * This is the viewer that shadows the selection in the content outline.
-   * The parent relation must be correctly defined for this to work.
-   * <!-- begin-user-doc -->
+		/**
+	 * This is the viewer that shadows the selection in the content outline.
+	 * The parent relation must be correctly defined for this to work.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected TreeViewer selectionViewer;
 
   /**
-   * This inverts the roll of parent and child in the content provider and show parents as a tree.
-   * <!-- begin-user-doc -->
+	 * 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
-   */
+	 * @generated
+	 */
   protected TreeViewer parentViewer;
 
   /**
-   * This shows how a tree view works.
-   * <!-- begin-user-doc -->
+	 * This shows how a tree view works.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected TreeViewer treeViewer;
 
   /**
-   * This shows how a list view works.
-   * A list viewer doesn't support icons.
-   * <!-- begin-user-doc -->
+	 * This shows how a list view works.
+	 * A list viewer doesn't support icons.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected ListViewer listViewer;
 
   /**
-   * This shows how a table view works.
-   * A table can be used as a list with icons.
-   * <!-- begin-user-doc -->
+	 * This shows how a table view works.
+	 * A table can be used as a list with icons.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected TableViewer tableViewer;
 
   /**
-   * This shows how a tree view with columns works.
-   * <!-- begin-user-doc -->
+	 * This shows how a tree view with columns works.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected TreeViewer treeViewerWithColumns;
 
   /**
-   * This keeps track of the active viewer pane, in the book.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the active viewer pane, in the book.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @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 -->
+	 * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected Viewer currentViewer;
 
   /**
-   * This listens to which ever viewer is active.
-   * <!-- begin-user-doc -->
+	 * This listens to which ever viewer is active.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected ISelectionChangedListener selectionChangedListener;
 
   /**
-   * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
-   * <!-- begin-user-doc -->
+	 * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
 
   /**
-   * This keeps track of the selection of the editor as a whole.
-   * <!-- begin-user-doc -->
+	 * This keeps track of the selection of the editor as a whole.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected ISelection editorSelection = StructuredSelection.EMPTY;
 
   /**
-   * The MarkerHelper is responsible for creating workspace resource markers presented
-   * in Eclipse's Problems View.
-   * <!-- begin-user-doc -->
+	 * The MarkerHelper is responsible for creating workspace resource markers presented
+	 * in Eclipse's Problems View.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected MarkerHelper markerHelper = new EditUIMarkerHelper();
 
   /**
-   * This listens for when the outline becomes active
-   * <!-- begin-user-doc -->
+	 * This listens for when the outline becomes active
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IPartListener partListener =
-    new IPartListener()
-    {
-      public void partActivated(IWorkbenchPart p)
-      {
-        if (p instanceof ContentOutline)
-        {
-          if (((ContentOutline)p).getCurrentPage() == contentOutlinePage)
-          {
-            getActionBarContributor().setActiveEditor(EXTLibraryEditor.this);
+    new IPartListener() {
+			public void partActivated(IWorkbenchPart p) {
+				if (p instanceof ContentOutline) {
+					if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+						getActionBarContributor().setActiveEditor(EXTLibraryEditor.this);
 
-            setCurrentViewer(contentOutlineViewer);
-          }
-        }
-        else if (p instanceof PropertySheet)
-        {
-          if (((PropertySheet)p).getCurrentPage() == propertySheetPage)
-          {
-            getActionBarContributor().setActiveEditor(EXTLibraryEditor.this);
-            handleActivate();
-          }
-        }
-        else if (p == EXTLibraryEditor.this)
-        {
-          handleActivate();
-        }
-      }
-      public void partBroughtToTop(IWorkbenchPart p)
-      {
-        // Ignore.
-      }
-      public void partClosed(IWorkbenchPart p)
-      {
-        // Ignore.
-      }
-      public void partDeactivated(IWorkbenchPart p)
-      {
-        // Ignore.
-      }
-      public void partOpened(IWorkbenchPart p)
-      {
-        // Ignore.
-      }
-    };
+						setCurrentViewer(contentOutlineViewer);
+					}
+				}
+				else if (p instanceof PropertySheet) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+						getActionBarContributor().setActiveEditor(EXTLibraryEditor.this);
+						handleActivate();
+					}
+				}
+				else if (p == EXTLibraryEditor.this) {
+					handleActivate();
+				}
+			}
+			public void partBroughtToTop(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partClosed(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partDeactivated(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partOpened(IWorkbenchPart p) {
+				// Ignore.
+			}
+		};
 
   /**
    * Resources that have been removed since last activation.
@@ -411,183 +355,159 @@
   protected Collection<Resource> savedResources = new ArrayList<Resource>();
 
   /**
-   * Map to store the diagnostic associated with a resource.
-   * <!-- begin-user-doc -->
+	 * Map to store the diagnostic associated with a resource.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
 
   /**
-   * Controls whether the problem indication should be updated.
-   * <!-- begin-user-doc -->
+	 * Controls whether the problem indication should be updated.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected boolean updateProblemIndication = true;
 
   /**
-   * Adapter used to update the problem indication when resources are demanded loaded.
-   * <!-- begin-user-doc -->
+	 * Adapter used to update the problem indication when resources are demanded loaded.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected EContentAdapter problemIndicationAdapter = 
-    new EContentAdapter()
-    {
-      @Override
-      public void notifyChanged(Notification notification)
-      {
-        if (notification.getNotifier() instanceof Resource)
-        {
-          switch (notification.getFeatureID(Resource.class))
-          {
-            case Resource.RESOURCE__IS_LOADED:
-            case Resource.RESOURCE__ERRORS:
-            case Resource.RESOURCE__WARNINGS:
-            {
-              Resource resource = (Resource)notification.getNotifier();
-              Diagnostic diagnostic = analyzeResourceProblems(resource, null);
-              if (diagnostic.getSeverity() != Diagnostic.OK)
-              {
-                resourceToDiagnosticMap.put(resource, diagnostic);
-              }
-              else
-              {
-                resourceToDiagnosticMap.remove(resource);
-              }
+    new EContentAdapter() {
+			@Override
+			public void notifyChanged(Notification notification) {
+				if (notification.getNotifier() instanceof Resource) {
+					switch (notification.getFeatureID(Resource.class)) {
+						case Resource.RESOURCE__IS_LOADED:
+						case Resource.RESOURCE__ERRORS:
+						case Resource.RESOURCE__WARNINGS: {
+							Resource resource = (Resource)notification.getNotifier();
+							Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+							if (diagnostic.getSeverity() != Diagnostic.OK) {
+								resourceToDiagnosticMap.put(resource, diagnostic);
+							}
+							else {
+								resourceToDiagnosticMap.remove(resource);
+							}
 
-              if (updateProblemIndication)
-              {
-                getSite().getShell().getDisplay().asyncExec
-                  (new Runnable()
-                   {
-                     public void run()
-                     {
-                       updateProblemIndication();
-                     }
-                   });
-              }
-              break;
-            }
-          }
-        }
-        else
-        {
-          super.notifyChanged(notification);
-        }
-      }
+							if (updateProblemIndication) {
+								getSite().getShell().getDisplay().asyncExec
+									(new Runnable() {
+										 public void run() {
+											 updateProblemIndication();
+										 }
+									 });
+							}
+							break;
+						}
+					}
+				}
+				else {
+					super.notifyChanged(notification);
+				}
+			}
 
-      @Override
-      protected void setTarget(Resource target)
-      {
-        basicSetTarget(target);
-      }
+			@Override
+			protected void setTarget(Resource target) {
+				basicSetTarget(target);
+			}
 
-      @Override
-      protected void unsetTarget(Resource target)
-      {
-        basicUnsetTarget(target);
-      }
-    };
+			@Override
+			protected void unsetTarget(Resource target) {
+				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
+			}
+		};
 
   /**
-   * This listens for workspace changes.
-   * <!-- begin-user-doc -->
+	 * This listens for workspace changes.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IResourceChangeListener resourceChangeListener =
-    new IResourceChangeListener()
-    {
-      public void resourceChanged(IResourceChangeEvent event)
-      {
-        IResourceDelta delta = event.getDelta();
-        try
-        {
-          class ResourceDeltaVisitor implements IResourceDeltaVisitor
-          {
-            protected ResourceSet resourceSet = editingDomain.getResourceSet();
-            protected Collection<Resource> changedResources = new ArrayList<Resource>();
-            protected Collection<Resource> removedResources = new ArrayList<Resource>();
+    new IResourceChangeListener() {
+			public void resourceChanged(IResourceChangeEvent event) {
+				IResourceDelta delta = event.getDelta();
+				try {
+					class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+						protected ResourceSet resourceSet = editingDomain.getResourceSet();
+						protected Collection<Resource> changedResources = new ArrayList<Resource>();
+						protected Collection<Resource> removedResources = new ArrayList<Resource>();
 
-            public boolean visit(IResourceDelta delta)
-            {
-              if (delta.getResource().getType() == IResource.FILE)
-              {
-                if (delta.getKind() == IResourceDelta.REMOVED ||
-                    delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS)
-                {
-                  Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
-                  if (resource != null)
-                  {
-                    if (delta.getKind() == IResourceDelta.REMOVED)
-                    {
-                      removedResources.add(resource);
-                    }
-                    else if (!savedResources.remove(resource))
-                    {
-                      changedResources.add(resource);
-                    }
-                  }
-                }
-              }
+						public boolean visit(IResourceDelta delta) {
+							if (delta.getResource().getType() == IResource.FILE) {
+								if (delta.getKind() == IResourceDelta.REMOVED ||
+								    delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+									Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+									if (resource != null) {
+										if (delta.getKind() == IResourceDelta.REMOVED) {
+											removedResources.add(resource);
+										}
+										else if (!savedResources.remove(resource)) {
+											changedResources.add(resource);
+										}
+									}
+								}
+								return false;
+							}
 
-              return true;
-            }
+							return true;
+						}
 
-            public Collection<Resource> getChangedResources()
-            {
-              return changedResources;
-            }
+						public Collection<Resource> getChangedResources() {
+							return changedResources;
+						}
 
-            public Collection<Resource> getRemovedResources()
-            {
-              return removedResources;
-            }
-          }
+						public Collection<Resource> getRemovedResources() {
+							return removedResources;
+						}
+					}
 
-          final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
-          delta.accept(visitor);
+					final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+					delta.accept(visitor);
 
-          if (!visitor.getRemovedResources().isEmpty())
-          {
-            getSite().getShell().getDisplay().asyncExec
-              (new Runnable()
-               {
-                 public void run()
-                 {
-                   removedResources.addAll(visitor.getRemovedResources());
-                   if (!isDirty())
-                   {
-                     getSite().getPage().closeEditor(EXTLibraryEditor.this, false);
-                   }
-                 }
-               });
-          }
+					if (!visitor.getRemovedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 removedResources.addAll(visitor.getRemovedResources());
+									 if (!isDirty()) {
+										 getSite().getPage().closeEditor(EXTLibraryEditor.this, false);
+									 }
+								 }
+							 });
+					}
 
-          if (!visitor.getChangedResources().isEmpty())
-          {
-            getSite().getShell().getDisplay().asyncExec
-              (new Runnable()
-               {
-                 public void run()
-                 {
-                   changedResources.addAll(visitor.getChangedResources());
-                   if (getSite().getPage().getActiveEditor() == EXTLibraryEditor.this)
-                   {
-                     handleActivate();
-                   }
-                 }
-               });
-          }
-        }
-        catch (CoreException exception)
-        {
-          EXTLibraryEditorPlugin.INSTANCE.log(exception);
-        }
-      }
-    };
+					if (!visitor.getChangedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 changedResources.addAll(visitor.getChangedResources());
+									 if (getSite().getPage().getActiveEditor() == EXTLibraryEditor.this) {
+										 handleActivate();
+									 }
+								 }
+							 });
+					}
+				}
+				catch (CoreException exception) {
+					EXTLibraryEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
 
   /**
    * Handles activation of the editor or it's associated views.
@@ -595,38 +515,33 @@
    */
   protected void handleActivate()
   {
-    // Recompute the read only state.
-    //
-    if (editingDomain.getResourceToReadOnlyMap() != null)
-    {
-      editingDomain.getResourceToReadOnlyMap().clear();
+		// Recompute the read only state.
+		//
+		if (editingDomain.getResourceToReadOnlyMap() != null) {
+		  editingDomain.getResourceToReadOnlyMap().clear();
 
-      // Refresh any actions that may become enabled or disabled.
-      //
-      setSelection(getSelection());
-    }
+		  // Refresh any actions that may become enabled or disabled.
+		  //
+		  setSelection(getSelection());
+		}
 
-    if (!removedResources.isEmpty())
-    {
-      if (handleDirtyConflict())
-      {
-        getSite().getPage().closeEditor(EXTLibraryEditor.this, false);
-      }
-      else
-      {
-        removedResources.clear();
-        changedResources.clear();
-        savedResources.clear();
-      }
-    }
-    else if (!changedResources.isEmpty())
-    {
-      changedResources.removeAll(savedResources);
-      handleChangedResources();
-      changedResources.clear();
-      savedResources.clear();
-    }
-  }
+		if (!removedResources.isEmpty()) {
+			if (handleDirtyConflict()) {
+				getSite().getPage().closeEditor(EXTLibraryEditor.this, false);
+			}
+			else {
+				removedResources.clear();
+				changedResources.clear();
+				savedResources.clear();
+			}
+		}
+		else if (!changedResources.isEmpty()) {
+			changedResources.removeAll(savedResources);
+			handleChangedResources();
+			changedResources.clear();
+			savedResources.clear();
+		}
+	}
 
   /**
    * Handles what to do with changed resources on activation.
@@ -634,113 +549,93 @@
    */
   protected void handleChangedResources()
   {
-    if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict()))
-    {
-      if (isDirty())
-      {
-        changedResources.addAll(editingDomain.getResourceSet().getResources());
-      }
-      editingDomain.getCommandStack().flush();
+		if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+			if (isDirty()) {
+				changedResources.addAll(editingDomain.getResourceSet().getResources());
+			}
+			editingDomain.getCommandStack().flush();
 
-      updateProblemIndication = false;
-      for (Resource resource : changedResources)
-      {
-        if (resource.isLoaded())
-        {
-          resource.unload();
-          try
-          {
-            resource.load(Collections.EMPTY_MAP);
-          }
-          catch (IOException exception)
-          {
-            if (!resourceToDiagnosticMap.containsKey(resource))
-            {
-              resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
-            }
-          }
-        }
-      }
+			updateProblemIndication = false;
+			for (Resource resource : changedResources) {
+				if (resource.isLoaded()) {
+					resource.unload();
+					try {
+						resource.load(Collections.EMPTY_MAP);
+					}
+					catch (IOException exception) {
+						if (!resourceToDiagnosticMap.containsKey(resource)) {
+							resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+						}
+					}
+				}
+			}
 
-      if (AdapterFactoryEditingDomain.isStale(editorSelection))
-      {
-        setSelection(StructuredSelection.EMPTY);
-      }
+			if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+				setSelection(StructuredSelection.EMPTY);
+			}
 
-      updateProblemIndication = true;
-      updateProblemIndication();
-    }
-  }
+			updateProblemIndication = true;
+			updateProblemIndication();
+		}
+	}
   
   /**
-   * Updates the problems indication with the information described in the specified diagnostic.
-   * <!-- begin-user-doc -->
+	 * Updates the problems indication with the information described in the specified diagnostic.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void updateProblemIndication()
   {
-    if (updateProblemIndication)
-    {
-      BasicDiagnostic diagnostic =
-        new BasicDiagnostic
-          (Diagnostic.OK,
-           "org.eclipse.emf.parsley.examples.library.editor", //$NON-NLS-1$
-           0,
-           null,
-           new Object [] { editingDomain.getResourceSet() });
-      for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values())
-      {
-        if (childDiagnostic.getSeverity() != Diagnostic.OK)
-        {
-          diagnostic.add(childDiagnostic);
-        }
-      }
+		if (updateProblemIndication) {
+			BasicDiagnostic diagnostic =
+				new BasicDiagnostic
+					(Diagnostic.OK,
+					 "org.eclipse.emf.parsley.examples.library.editor", //$NON-NLS-1$
+					 0,
+					 null,
+					 new Object [] { editingDomain.getResourceSet() });
+			for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+				if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+					diagnostic.add(childDiagnostic);
+				}
+			}
 
-      int lastEditorPage = getPageCount() - 1;
-      if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart)
-      {
-        ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
-        if (diagnostic.getSeverity() != Diagnostic.OK)
-        {
-          setActivePage(lastEditorPage);
-        }
-      }
-      else if (diagnostic.getSeverity() != Diagnostic.OK)
-      {
-        ProblemEditorPart problemEditorPart = new ProblemEditorPart();
-        problemEditorPart.setDiagnostic(diagnostic);
-        problemEditorPart.setMarkerHelper(markerHelper);
-        try
-        {
-          addPage(++lastEditorPage, problemEditorPart, getEditorInput());
-          setPageText(lastEditorPage, problemEditorPart.getPartName());
-          setActivePage(lastEditorPage);
-          showTabs();
-        }
-        catch (PartInitException exception)
-        {
-          EXTLibraryEditorPlugin.INSTANCE.log(exception);
-        }
-      }
+			int lastEditorPage = getPageCount() - 1;
+			if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+				((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					setActivePage(lastEditorPage);
+				}
+			}
+			else if (diagnostic.getSeverity() != Diagnostic.OK) {
+				ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+				problemEditorPart.setDiagnostic(diagnostic);
+				problemEditorPart.setMarkerHelper(markerHelper);
+				try {
+					addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+					setPageText(lastEditorPage, problemEditorPart.getPartName());
+					setActivePage(lastEditorPage);
+					showTabs();
+				}
+				catch (PartInitException exception) {
+					EXTLibraryEditorPlugin.INSTANCE.log(exception);
+				}
+			}
 
-      if (markerHelper.hasMarkers(editingDomain.getResourceSet()))
-      {
-        markerHelper.deleteMarkers(editingDomain.getResourceSet());
-        if (diagnostic.getSeverity() != Diagnostic.OK)
-        {
-          try
-          {
-            markerHelper.createMarkers(diagnostic);
-          }
-          catch (CoreException exception)
-          {
-            EXTLibraryEditorPlugin.INSTANCE.log(exception);
-          }
-        }
-      }
-    }
-  }
+			if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+				markerHelper.deleteMarkers(editingDomain.getResourceSet());
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					try {
+						markerHelper.createMarkers(diagnostic);
+					}
+					catch (CoreException exception) {
+						EXTLibraryEditorPlugin.INSTANCE.log(exception);
+					}
+				}
+			}
+		}
+	}
 
   /**
    * Shows a dialog that asks if conflicting changes should be discarded.
@@ -748,1309 +643,1196 @@
    */
   protected boolean handleDirtyConflict()
   {
-    return
-      MessageDialog.openQuestion
-        (getSite().getShell(),
-         getString("_UI_FileConflict_label"), //$NON-NLS-1$
-         getString("_WARN_FileConflict")); //$NON-NLS-1$
-  }
+		return
+			MessageDialog.openQuestion
+				(getSite().getShell(),
+				 getString("_UI_FileConflict_label"), //$NON-NLS-1$
+				 getString("_WARN_FileConflict")); //$NON-NLS-1$
+	}
 
   /**
-   * This creates a model editor.
-   * <!-- begin-user-doc -->
+	 * This creates a model editor.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EXTLibraryEditor()
   {
-    super();
-    initializeEditingDomain();
-  }
+		super();
+		initializeEditingDomain();
+	}
 
   /**
-   * This sets up the editing domain for the model editor.
-   * <!-- begin-user-doc -->
+	 * This sets up the editing domain for the model editor.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void initializeEditingDomain()
   {
-    // Create an adapter factory that yields item providers.
-    //
-    adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+		// Create an adapter factory that yields item providers.
+		//
+		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
 
-    adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
-    adapterFactory.addAdapterFactory(new EXTLibraryItemProviderAdapterFactory());
-    adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new EXTLibraryItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
 
-    // Create the command stack that will notify this editor as commands are executed.
-    //
-    BasicCommandStack commandStack = new BasicCommandStack();
+		// Create the command stack that will notify this editor as commands are executed.
+		//
+		BasicCommandStack commandStack = new BasicCommandStack();
 
-    // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
-    //
-    commandStack.addCommandStackListener
-      (new CommandStackListener()
-       {
-         public void commandStackChanged(final EventObject event)
-         {
-           getContainer().getDisplay().asyncExec
-             (new Runnable()
-              {
-                public void run()
-                {
-                  firePropertyChange(IEditorPart.PROP_DIRTY);
+		// Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+		//
+		commandStack.addCommandStackListener
+			(new CommandStackListener() {
+				 public void commandStackChanged(final EventObject event) {
+					 getContainer().getDisplay().asyncExec
+						 (new Runnable() {
+							  public void run() {
+								  firePropertyChange(IEditorPart.PROP_DIRTY);
 
-                  // Try to select the affected objects.
-                  //
-                  Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
-                  if (mostRecentCommand != null)
-                  {
-                    setSelectionToViewer(mostRecentCommand.getAffectedObjects());
-                  }
-                  if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed())
-                  {
-                    propertySheetPage.refresh();
-                  }
-                }
-              });
-         }
-       });
+								  // Try to select the affected objects.
+								  //
+								  Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+								  if (mostRecentCommand != null) {
+									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+								  }
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
+								  }
+							  }
+						  });
+				 }
+			 });
 
-    // Create the editing domain with a special command stack.
-    //
-    editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
-  }
+		// Create the editing domain with a special command stack.
+		//
+		editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+	}
 
   /**
-   * This is here for the listener to be able to call it.
-   * <!-- begin-user-doc -->
+	 * This is here for the listener to be able to call it.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected void firePropertyChange(int action)
   {
-    super.firePropertyChange(action);
-  }
+		super.firePropertyChange(action);
+	}
 
   /**
-   * This sets the selection into whichever viewer is active.
-   * <!-- begin-user-doc -->
+	 * This sets the selection into whichever viewer is active.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setSelectionToViewer(Collection<?> collection)
   {
-    final Collection<?> theSelection = collection;
-    // Make sure it's okay.
-    //
-    if (theSelection != null && !theSelection.isEmpty())
-    {
-      Runnable runnable =
-        new Runnable()
-        {
-          public void run()
-          {
-            // Try to select the items in the current content viewer of the editor.
-            //
-            if (currentViewer != null)
-            {
-              currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
-            }
-          }
-        };
-      getSite().getShell().getDisplay().asyncExec(runnable);
-    }
-  }
+		final Collection<?> theSelection = collection;
+		// Make sure it's okay.
+		//
+		if (theSelection != null && !theSelection.isEmpty()) {
+			Runnable runnable =
+				new Runnable() {
+					public void run() {
+						// Try to select the items in the current content viewer of the editor.
+						//
+						if (currentViewer != null) {
+							currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+						}
+					}
+				};
+			getSite().getShell().getDisplay().asyncExec(runnable);
+		}
+	}
 
   /**
-   * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
-   * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
-   * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
-   * <!-- begin-user-doc -->
+	 * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+	 * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+	 * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EditingDomain getEditingDomain()
   {
-    return editingDomain;
-  }
+		return editingDomain;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider
   {
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory)
     {
-      super(adapterFactory);
-    }
+			super(adapterFactory);
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     @Override
     public Object [] getElements(Object object)
     {
-      Object parent = super.getParent(object);
-      return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
-    }
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     @Override
     public Object [] getChildren(Object object)
     {
-      Object parent = super.getParent(object);
-      return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
-    }
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     @Override
     public boolean hasChildren(Object object)
     {
-      Object parent = super.getParent(object);
-      return parent != null;
-    }
+			Object parent = super.getParent(object);
+			return parent != null;
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     @Override
     public Object getParent(Object object)
     {
-      return null;
-    }
+			return null;
+		}
   }
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setCurrentViewerPane(ViewerPane viewerPane)
   {
-    if (currentViewerPane != viewerPane)
-    {
-      if (currentViewerPane != null)
-      {
-        currentViewerPane.showFocus(false);
-      }
-      currentViewerPane = viewerPane;
-    }
-    setCurrentViewer(currentViewerPane.getViewer());
-  }
+		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 -->
+	 * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+	 * is the current one.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setCurrentViewer(Viewer viewer)
   {
-    // If it is changing...
-    //
-    if (currentViewer != viewer)
-    {
-      if (selectionChangedListener == null)
-      {
-        // Create the listener on demand.
-        //
-        selectionChangedListener =
-          new ISelectionChangedListener()
-          {
-            // This just notifies those things that are affected by the section.
-            //
-            public void selectionChanged(SelectionChangedEvent selectionChangedEvent)
-            {
-              setSelection(selectionChangedEvent.getSelection());
-            }
-          };
-      }
+		// If it is changing...
+		//
+		if (currentViewer != viewer) {
+			if (selectionChangedListener == null) {
+				// Create the listener on demand.
+				//
+				selectionChangedListener =
+					new ISelectionChangedListener() {
+						// This just notifies those things that are affected by the section.
+						//
+						public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+							setSelection(selectionChangedEvent.getSelection());
+						}
+					};
+			}
 
-      // Stop listening to the old one.
-      //
-      if (currentViewer != null)
-      {
-        currentViewer.removeSelectionChangedListener(selectionChangedListener);
-      }
+			// Stop listening to the old one.
+			//
+			if (currentViewer != null) {
+				currentViewer.removeSelectionChangedListener(selectionChangedListener);
+			}
 
-      // Start listening to the new one.
-      //
-      if (viewer != null)
-      {
-        viewer.addSelectionChangedListener(selectionChangedListener);
-      }
+			// Start listening to the new one.
+			//
+			if (viewer != null) {
+				viewer.addSelectionChangedListener(selectionChangedListener);
+			}
 
-      // Remember it.
-      //
-      currentViewer = viewer;
+			// Remember it.
+			//
+			currentViewer = viewer;
 
-      // Set the editors selection based on the current viewer's selection.
-      //
-      setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
-    }
-  }
+			// Set the editors selection based on the current viewer's selection.
+			//
+			setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+		}
+	}
 
   /**
-   * This returns the viewer as required by the {@link IViewerProvider} interface.
-   * <!-- begin-user-doc -->
+	 * This returns the viewer as required by the {@link IViewerProvider} interface.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Viewer getViewer()
   {
-    return currentViewer;
-  }
+		return currentViewer;
+	}
 
   /**
-   * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
-   * <!-- begin-user-doc -->
+	 * 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
-   */
+	 * @generated
+	 */
   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));
+		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));
 
-    int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-    Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
-    viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
-    viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
-  }
+		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
+		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+	}
 
   /**
-   * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
-   * <!-- begin-user-doc -->
+	 * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void createModel()
   {
-    URI resourceURI = EditUIUtil.getURI(getEditorInput());
-    Exception exception = null;
-    Resource resource = null;
-    try
-    {
-      // Load the resource through the editing domain.
-      //
-      resource = editingDomain.getResourceSet().getResource(resourceURI, true);
-    }
-    catch (Exception e)
-    {
-      exception = e;
-      resource = editingDomain.getResourceSet().getResource(resourceURI, false);
-    }
+		URI resourceURI = EditUIUtil.getURI(getEditorInput());
+		Exception exception = null;
+		Resource resource = null;
+		try {
+			// Load the resource through the editing domain.
+			//
+			resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+		}
+		catch (Exception e) {
+			exception = e;
+			resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+		}
 
-    Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
-    if (diagnostic.getSeverity() != Diagnostic.OK)
-    {
-      resourceToDiagnosticMap.put(resource,  analyzeResourceProblems(resource, exception));
-    }
-    editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
-  }
+		Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+		if (diagnostic.getSeverity() != Diagnostic.OK) {
+			resourceToDiagnosticMap.put(resource,  analyzeResourceProblems(resource, exception));
+		}
+		editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+	}
 
   /**
-   * Returns a diagnostic describing the errors and warnings listed in the resource
-   * and the specified exception (if any).
-   * <!-- begin-user-doc -->
+	 * Returns a diagnostic describing the errors and warnings listed in the resource
+	 * and the specified exception (if any).
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) 
   {
-    if (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty())
-    {
-      BasicDiagnostic basicDiagnostic =
-        new BasicDiagnostic
-          (Diagnostic.ERROR,
-           "org.eclipse.emf.parsley.examples.library.editor", //$NON-NLS-1$
-           0,
-           getString("_UI_CreateModelError_message", resource.getURI()), //$NON-NLS-1$
-           new Object [] { exception == null ? (Object)resource : exception });
-      basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
-      return basicDiagnostic;
-    }
-    else if (exception != null)
-    {
-      return
-        new BasicDiagnostic
-          (Diagnostic.ERROR,
-           "org.eclipse.emf.parsley.examples.library.editor", //$NON-NLS-1$
-           0,
-           getString("_UI_CreateModelError_message", resource.getURI()), //$NON-NLS-1$
-           new Object[] { exception });
-    }
-    else
-    {
-      return Diagnostic.OK_INSTANCE;
-    }
-  }
+		boolean hasErrors = !resource.getErrors().isEmpty();
+		if (hasErrors || !resource.getWarnings().isEmpty()) {
+			BasicDiagnostic basicDiagnostic =
+				new BasicDiagnostic
+					(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING,
+					 "org.eclipse.emf.parsley.examples.library.editor", //$NON-NLS-1$
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()), //$NON-NLS-1$
+					 new Object [] { exception == null ? (Object)resource : exception });
+			basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+			return basicDiagnostic;
+		}
+		else if (exception != null) {
+			return
+				new BasicDiagnostic
+					(Diagnostic.ERROR,
+					 "org.eclipse.emf.parsley.examples.library.editor", //$NON-NLS-1$
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()), //$NON-NLS-1$
+					 new Object[] { exception });
+		}
+		else {
+			return Diagnostic.OK_INSTANCE;
+		}
+	}
 
   /**
-   * This is the method used by the framework to install your own controls.
-   * <!-- begin-user-doc -->
+	 * This is the method used by the framework to install your own controls.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void createPages()
   {
-    // Creates the model from the editor input
-    //
-    createModel();
+		// Creates the model from the editor input
+		//
+		createModel();
 
-    // Only creates the other pages if there is something that can be edited
-    //
-    if (!getEditingDomain().getResourceSet().getResources().isEmpty())
-    {
-      // Create a page for the selection tree view.
-      //
-      {
-        ViewerPane viewerPane =
-          new ViewerPane(getSite().getPage(), EXTLibraryEditor.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());
+		// Only creates the other pages if there is something that can be edited
+		//
+		if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+			// Create a page for the selection tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), EXTLibraryEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
 
-        selectionViewer = (TreeViewer)viewerPane.getViewer();
-        selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				selectionViewer = (TreeViewer)viewerPane.getViewer();
+				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
 
-        selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-        selectionViewer.setInput(editingDomain.getResourceSet());
-        selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
-        viewerPane.setTitle(editingDomain.getResourceSet());
+				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$
-      }
+				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(), EXTLibraryEditor.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());
+			// Create a page for the parent tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), EXTLibraryEditor.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));
+				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$
-      }
+				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(), EXTLibraryEditor.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));
+			// This is the page for the list viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), EXTLibraryEditor.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$
-      }
+				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(), EXTLibraryEditor.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));
+			// This is the page for the tree viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), EXTLibraryEditor.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);
+				new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
 
-        createContextMenuFor(treeViewer);
-        int pageIndex = addPage(viewerPane.getControl());
-        setPageText(pageIndex, getString("_UI_TreePage_label")); //$NON-NLS-1$
-      }
+				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(), EXTLibraryEditor.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();
+			// This is the page for the table viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), EXTLibraryEditor.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);
+				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 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);
+				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));
+				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$
-      }
+				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(), EXTLibraryEditor.this)
-          {
-            @Override
-            public Viewer createViewer(Composite composite)
-            {
-              return new TreeViewer(composite);
-            }
-            @Override
-            public void requestActivation()
-            {
-              super.requestActivation();
-              setCurrentViewerPane(this);
-            }
-          };
-        viewerPane.createControl(getContainer());
+			// This is the page for the table tree viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), EXTLibraryEditor.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();
+				treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
 
-        Tree tree = treeViewerWithColumns.getTree();
-        tree.setLayoutData(new FillLayout());
-        tree.setHeaderVisible(true);
-        tree.setLinesVisible(true);
+				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 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);
+				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));
+				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(treeViewerWithColumns);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); //$NON-NLS-1$
+			}
 
-      getSite().getShell().getDisplay().asyncExec
-        (new Runnable()
-         {
-           public void run()
-           {
-             setActivePage(0);
-           }
-         });
-    }
+			getSite().getShell().getDisplay().asyncExec
+				(new Runnable() {
+					 public void run() {
+						 setActivePage(0);
+					 }
+				 });
+		}
 
-    // Ensures that this editor will only display the page's tab
-    // area if there are more than one page
-    //
-    getContainer().addControlListener
-      (new ControlAdapter()
-       {
-        boolean guard = false;
-        @Override
-        public void controlResized(ControlEvent event)
-        {
-          if (!guard)
-          {
-            guard = true;
-            hideTabs();
-            guard = false;
-          }
-        }
-       });
+		// Ensures that this editor will only display the page's tab
+		// area if there are more than one page
+		//
+		getContainer().addControlListener
+			(new ControlAdapter() {
+				boolean guard = false;
+				@Override
+				public void controlResized(ControlEvent event) {
+					if (!guard) {
+						guard = true;
+						hideTabs();
+						guard = false;
+					}
+				}
+			 });
 
-    getSite().getShell().getDisplay().asyncExec
-      (new Runnable()
-       {
-         public void run()
-         {
-           updateProblemIndication();
-         }
-       });
-  }
+		getSite().getShell().getDisplay().asyncExec
+			(new Runnable() {
+				 public void run() {
+					 updateProblemIndication();
+				 }
+			 });
+	}
 
   /**
-   * If there is just one page in the multi-page editor part,
-   * this hides the single tab at the bottom.
-   * <!-- begin-user-doc -->
+	 * If there is just one page in the multi-page editor part,
+	 * this hides the single tab at the bottom.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void hideTabs()
   {
-    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);
-      }
-    }
-  }
+		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);
+			}
+		}
+	}
 
   /**
-   * If there is more than one page in the multi-page editor part,
-   * this shows the tabs at the bottom.
-   * <!-- begin-user-doc -->
+	 * If there is more than one page in the multi-page editor part,
+	 * this shows the tabs at the bottom.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void showTabs()
   {
-    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);
-      }
-    }
-  }
+		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);
+			}
+		}
+	}
 
   /**
-   * This is used to track the active viewer.
-   * <!-- begin-user-doc -->
+	 * This is used to track the active viewer.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected void pageChange(int pageIndex)
   {
-    super.pageChange(pageIndex);
+		super.pageChange(pageIndex);
 
-    if (contentOutlinePage != null)
-    {
-      handleContentOutlineSelection(contentOutlinePage.getSelection());
-    }
-  }
+		if (contentOutlinePage != null) {
+			handleContentOutlineSelection(contentOutlinePage.getSelection());
+		}
+	}
 
   /**
-   * This is how the framework determines which interfaces we implement.
-   * <!-- begin-user-doc -->
+	 * This is how the framework determines which interfaces we implement.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @SuppressWarnings("rawtypes")
   @Override
   public Object getAdapter(Class key)
   {
-    if (key.equals(IContentOutlinePage.class))
-    {
-      return showOutlineView() ? getContentOutlinePage() : null;
-    }
-    else if (key.equals(IPropertySheetPage.class))
-    {
-      return getPropertySheetPage();
-    }
-    else if (key.equals(IGotoMarker.class))
-    {
-      return this;
-    }
-    else
-    {
-      return super.getAdapter(key);
-    }
-  }
+		if (key.equals(IContentOutlinePage.class)) {
+			return showOutlineView() ? getContentOutlinePage() : null;
+		}
+		else if (key.equals(IPropertySheetPage.class)) {
+			return getPropertySheetPage();
+		}
+		else if (key.equals(IGotoMarker.class)) {
+			return this;
+		}
+		else {
+			return super.getAdapter(key);
+		}
+	}
 
   /**
-   * This accesses a cached version of the content outliner.
-   * <!-- begin-user-doc -->
+	 * This accesses a cached version of the content outliner.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public IContentOutlinePage getContentOutlinePage()
   {
-    if (contentOutlinePage == null)
-    {
-      // The content outline is just a tree.
-      //
-      class MyContentOutlinePage extends ContentOutlinePage
-      {
-        @Override
-        public void createControl(Composite parent)
-        {
-          super.createControl(parent);
-          contentOutlineViewer = getTreeViewer();
-          contentOutlineViewer.addSelectionChangedListener(this);
+		if (contentOutlinePage == null) {
+			// The content outline is just a tree.
+			//
+			class MyContentOutlinePage extends ContentOutlinePage {
+				@Override
+				public void createControl(Composite parent) {
+					super.createControl(parent);
+					contentOutlineViewer = getTreeViewer();
+					contentOutlineViewer.addSelectionChangedListener(this);
 
-          // Set up the tree viewer.
-          //
-          contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
-          contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-          contentOutlineViewer.setInput(editingDomain.getResourceSet());
+					// Set up the tree viewer.
+					//
+					contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+					contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+					contentOutlineViewer.setInput(editingDomain.getResourceSet());
 
-          // Make sure our popups work.
-          //
-          createContextMenuFor(contentOutlineViewer);
+					// Make sure our popups work.
+					//
+					createContextMenuFor(contentOutlineViewer);
 
-          if (!editingDomain.getResourceSet().getResources().isEmpty())
-          {
-            // Select the root object in the view.
-            //
-            contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
-          }
-        }
+					if (!editingDomain.getResourceSet().getResources().isEmpty()) {
+					  // Select the root object in the view.
+					  //
+					  contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+					}
+				}
 
-        @Override
-        public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager)
-        {
-          super.makeContributions(menuManager, toolBarManager, statusLineManager);
-          contentOutlineStatusLineManager = statusLineManager;
-        }
+				@Override
+				public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+					super.makeContributions(menuManager, toolBarManager, statusLineManager);
+					contentOutlineStatusLineManager = statusLineManager;
+				}
 
-        @Override
-        public void setActionBars(IActionBars actionBars)
-        {
-          super.setActionBars(actionBars);
-          getActionBarContributor().shareGlobalActions(this, actionBars);
-        }
-      }
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			}
 
-      contentOutlinePage = new MyContentOutlinePage();
+			contentOutlinePage = new MyContentOutlinePage();
 
-      // Listen to selection so that we can handle it is a special way.
-      //
-      contentOutlinePage.addSelectionChangedListener
-        (new ISelectionChangedListener()
-         {
-           // This ensures that we handle selections correctly.
-           //
-           public void selectionChanged(SelectionChangedEvent event)
-           {
-             handleContentOutlineSelection(event.getSelection());
-           }
-         });
-    }
+			// Listen to selection so that we can handle it is a special way.
+			//
+			contentOutlinePage.addSelectionChangedListener
+				(new ISelectionChangedListener() {
+					 // This ensures that we handle selections correctly.
+					 //
+					 public void selectionChanged(SelectionChangedEvent event) {
+						 handleContentOutlineSelection(event.getSelection());
+					 }
+				 });
+		}
 
-    return contentOutlinePage;
-  }
+		return contentOutlinePage;
+	}
 
   /**
-   * This accesses a cached version of the property sheet.
-   * <!-- begin-user-doc -->
+	 * This accesses a cached version of the property sheet.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public IPropertySheetPage getPropertySheetPage()
   {
-    if (propertySheetPage == null)
-    {
-      propertySheetPage =
-        new ExtendedPropertySheetPage(editingDomain)
-        {
-          @Override
-          public void setSelectionToViewer(List<?> selection)
-          {
-            EXTLibraryEditor.this.setSelectionToViewer(selection);
-            EXTLibraryEditor.this.setFocus();
-          }
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					EXTLibraryEditor.this.setSelectionToViewer(selection);
+					EXTLibraryEditor.this.setFocus();
+				}
 
-          @Override
-          public void setActionBars(IActionBars actionBars)
-          {
-            super.setActionBars(actionBars);
-            getActionBarContributor().shareGlobalActions(this, actionBars);
-          }
-        };
-      propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
-    }
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
 
-    return propertySheetPage;
-  }
+		return propertySheetPage;
+	}
 
   /**
-   * This deals with how we want selection in the outliner to affect the other views.
-   * <!-- begin-user-doc -->
+	 * This deals with how we want selection in the outliner to affect the other views.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void handleContentOutlineSelection(ISelection selection)
   {
-    if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
-    {
-      Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
-      if (selectedElements.hasNext())
-      {
-        // Get the first selected element.
-        //
-        Object selectedElement = selectedElements.next();
+		if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+			Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+			if (selectedElements.hasNext()) {
+				// Get the first selected element.
+				//
+				Object selectedElement = selectedElements.next();
 
-        // If it's the selection viewer, then we want it to select the same selection as this selection.
-        //
-        if (currentViewerPane.getViewer() == selectionViewer)
-        {
-          ArrayList<Object> selectionList = new ArrayList<Object>();
-          selectionList.add(selectedElement);
-          while (selectedElements.hasNext())
-          {
-            selectionList.add(selectedElements.next());
-          }
+				// If it's the selection viewer, then we want it to select the same selection as this selection.
+				//
+				if (currentViewerPane.getViewer() == selectionViewer) {
+					ArrayList<Object> selectionList = new ArrayList<Object>();
+					selectionList.add(selectedElement);
+					while (selectedElements.hasNext()) {
+						selectionList.add(selectedElements.next());
+					}
 
-          // Set the selection to the widget.
-          //
-          selectionViewer.setSelection(new StructuredSelection(selectionList));
-        }
-        else
-        {
-          // Set the input to the widget.
-          //
-          if (currentViewerPane.getViewer().getInput() != selectedElement)
-          {
-            currentViewerPane.getViewer().setInput(selectedElement);
-            currentViewerPane.setTitle(selectedElement);
-          }
-        }
-      }
-    }
-  }
+					// Set the selection to the widget.
+					//
+					selectionViewer.setSelection(new StructuredSelection(selectionList));
+				}
+				else {
+					// Set the input to the widget.
+					//
+					if (currentViewerPane.getViewer().getInput() != selectedElement) {
+						currentViewerPane.getViewer().setInput(selectedElement);
+						currentViewerPane.setTitle(selectedElement);
+					}
+				}
+			}
+		}
+	}
 
   /**
-   * This is for implementing {@link IEditorPart} and simply tests the command stack.
-   * <!-- begin-user-doc -->
+	 * This is for implementing {@link IEditorPart} and simply tests the command stack.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean isDirty()
   {
-    return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
-  }
+		return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+	}
 
   /**
-   * This is for implementing {@link IEditorPart} and simply saves the model file.
-   * <!-- begin-user-doc -->
+	 * This is for implementing {@link IEditorPart} and simply saves the model file.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void doSave(IProgressMonitor progressMonitor)
   {
-    // Save only resources that have actually changed.
-    //
-    final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
-    saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		// Save only resources that have actually changed.
+		//
+		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
 
-    // Do the work within an operation because this is a long running activity that modifies the workbench.
-    //
-    WorkspaceModifyOperation operation =
-      new WorkspaceModifyOperation()
-      {
-        // This is the method that gets invoked when the operation runs.
-        //
-        @Override
-        public void execute(IProgressMonitor monitor)
-        {
-          // Save the resources to the file system.
-          //
-          boolean first = true;
-          for (Resource resource : editingDomain.getResourceSet().getResources())
-          {
-            if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource))
-            {
-              try
-              {
-                long timeStamp = resource.getTimeStamp();
-                resource.save(saveOptions);
-                if (resource.getTimeStamp() != timeStamp)
-                {
-                  savedResources.add(resource);
-                }
-              }
-              catch (Exception exception)
-              {
-                resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
-              }
-              first = false;
-            }
-          }
-        }
-      };
+		// Do the work within an operation because this is a long running activity that modifies the workbench.
+		//
+		WorkspaceModifyOperation operation =
+			new WorkspaceModifyOperation() {
+				// This is the method that gets invoked when the operation runs.
+				//
+				@Override
+				public void execute(IProgressMonitor monitor) {
+					// Save the resources to the file system.
+					//
+					boolean first = true;
+					for (Resource resource : editingDomain.getResourceSet().getResources()) {
+						if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+							try {
+								long timeStamp = resource.getTimeStamp();
+								resource.save(saveOptions);
+								if (resource.getTimeStamp() != timeStamp) {
+									savedResources.add(resource);
+								}
+							}
+							catch (Exception exception) {
+								resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+							}
+							first = false;
+						}
+					}
+				}
+			};
 
-    updateProblemIndication = false;
-    try
-    {
-      // This runs the options, and shows progress.
-      //
-      new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+		updateProblemIndication = false;
+		try {
+			// This runs the options, and shows progress.
+			//
+			new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
 
-      // Refresh the necessary state.
-      //
-      ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
-      firePropertyChange(IEditorPart.PROP_DIRTY);
-    }
-    catch (Exception exception)
-    {
-      // Something went wrong that shouldn't.
-      //
-      EXTLibraryEditorPlugin.INSTANCE.log(exception);
-    }
-    updateProblemIndication = true;
-    updateProblemIndication();
-  }
+			// Refresh the necessary state.
+			//
+			((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+			firePropertyChange(IEditorPart.PROP_DIRTY);
+		}
+		catch (Exception exception) {
+			// Something went wrong that shouldn't.
+			//
+			EXTLibraryEditorPlugin.INSTANCE.log(exception);
+		}
+		updateProblemIndication = true;
+		updateProblemIndication();
+	}
 
   /**
-   * This returns whether something has been persisted to the URI of the specified resource.
-   * The implementation uses the URI converter from the editor's resource set to try to open an input stream. 
-   * <!-- begin-user-doc -->
+	 * This returns whether something has been persisted to the URI of the specified resource.
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected boolean isPersisted(Resource resource)
   {
-    boolean result = false;
-    try
-    {
-      InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
-      if (stream != null)
-      {
-        result = true;
-        stream.close();
-      }
-    }
-    catch (IOException e)
-    {
-      // Ignore
-    }
-    return result;
-  }
+		boolean result = false;
+		try {
+			InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+			if (stream != null) {
+				result = true;
+				stream.close();
+			}
+		}
+		catch (IOException e) {
+			// Ignore
+		}
+		return result;
+	}
 
   /**
-   * This always returns true because it is not currently supported.
-   * <!-- begin-user-doc -->
+	 * This always returns true because it is not currently supported.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean isSaveAsAllowed()
   {
-    return true;
-  }
+		return true;
+	}
 
   /**
-   * This also changes the editor's input.
-   * <!-- begin-user-doc -->
+	 * This also changes the editor's input.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void doSaveAs()
   {
-    SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
-    saveAsDialog.open();
-    IPath path = saveAsDialog.getResult();
-    if (path != null)
-    {
-      IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-      if (file != null)
-      {
-        doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
-      }
-    }
-  }
+		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+		saveAsDialog.open();
+		IPath path = saveAsDialog.getResult();
+		if (path != null) {
+			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+			if (file != null) {
+				doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+			}
+		}
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void doSaveAs(URI uri, IEditorInput editorInput)
   {
-    (editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
-    setInputWithNotify(editorInput);
-    setPartName(editorInput.getName());
-    IProgressMonitor progressMonitor =
-      getActionBars().getStatusLineManager() != null ?
-        getActionBars().getStatusLineManager().getProgressMonitor() :
-        new NullProgressMonitor();
-    doSave(progressMonitor);
-  }
+		(editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		IProgressMonitor progressMonitor =
+			getActionBars().getStatusLineManager() != null ?
+				getActionBars().getStatusLineManager().getProgressMonitor() :
+				new NullProgressMonitor();
+		doSave(progressMonitor);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void gotoMarker(IMarker marker)
   {
-    try
-    {
-      if (marker.getType().equals(EValidator.MARKER))
-      {
-        String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
-        if (uriAttribute != null)
-        {
-          URI uri = URI.createURI(uriAttribute);
-          EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
-          if (eObject != null)
-          {
-            setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
-          }
-        }
-      }
-    }
-    catch (CoreException exception)
-    {
-      EXTLibraryEditorPlugin.INSTANCE.log(exception);
-    }
-  }
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
+		}
+	}
 
   /**
-   * This is called during startup.
-   * <!-- begin-user-doc -->
+	 * This is called during startup.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void init(IEditorSite site, IEditorInput editorInput)
   {
-    setSite(site);
-    setInputWithNotify(editorInput);
-    setPartName(editorInput.getName());
-    site.setSelectionProvider(this);
-    site.getPage().addPartListener(partListener);
-    ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
-  }
+		setSite(site);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		site.setSelectionProvider(this);
+		site.getPage().addPartListener(partListener);
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void setFocus()
   {
-    if (currentViewerPane != null)
-    {
-      currentViewerPane.setFocus();
-    }
-    else
-    {
-      getControl(getActivePage()).setFocus();
-    }
-  }
+		if (currentViewerPane != null) {
+			currentViewerPane.setFocus();
+		}
+		else {
+			getControl(getActivePage()).setFocus();
+		}
+	}
 
   /**
-   * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
-   * <!-- begin-user-doc -->
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void addSelectionChangedListener(ISelectionChangedListener listener)
   {
-    selectionChangedListeners.add(listener);
-  }
+		selectionChangedListeners.add(listener);
+	}
 
   /**
-   * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
-   * <!-- begin-user-doc -->
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void removeSelectionChangedListener(ISelectionChangedListener listener)
   {
-    selectionChangedListeners.remove(listener);
-  }
+		selectionChangedListeners.remove(listener);
+	}
 
   /**
-   * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
-   * <!-- begin-user-doc -->
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public ISelection getSelection()
   {
-    return editorSelection;
-  }
+		return editorSelection;
+	}
 
   /**
-   * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
-   * Calling this result will notify the listeners.
-   * <!-- begin-user-doc -->
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+	 * Calling this result will notify the listeners.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setSelection(ISelection selection)
   {
-    editorSelection = selection;
+		editorSelection = selection;
 
-    for (ISelectionChangedListener listener : selectionChangedListeners)
-    {
-      listener.selectionChanged(new SelectionChangedEvent(this, selection));
-    }
-    setStatusLineManager(selection);
-  }
+		for (ISelectionChangedListener listener : selectionChangedListeners) {
+			listener.selectionChanged(new SelectionChangedEvent(this, selection));
+		}
+		setStatusLineManager(selection);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setStatusLineManager(ISelection selection)
   {
-    IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
-      contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+		IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
+			contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
 
-    if (statusLineManager != null)
-    {
-      if (selection instanceof IStructuredSelection)
-      {
-        Collection<?> collection = ((IStructuredSelection)selection).toList();
-        switch (collection.size())
-        {
-          case 0:
-          {
-            statusLineManager.setMessage(getString("_UI_NoObjectSelected")); //$NON-NLS-1$
-            break;
-          }
-          case 1:
-          {
-            String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
-            statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text)); //$NON-NLS-1$
-            break;
-          }
-          default:
-          {
-            statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size()))); //$NON-NLS-1$
-            break;
-          }
-        }
-      }
-      else
-      {
-        statusLineManager.setMessage(""); //$NON-NLS-1$
-      }
-    }
-  }
+		if (statusLineManager != null) {
+			if (selection instanceof IStructuredSelection) {
+				Collection<?> collection = ((IStructuredSelection)selection).toList();
+				switch (collection.size()) {
+					case 0: {
+						statusLineManager.setMessage(getString("_UI_NoObjectSelected")); //$NON-NLS-1$
+						break;
+					}
+					case 1: {
+						String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+						statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text)); //$NON-NLS-1$
+						break;
+					}
+					default: {
+						statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size()))); //$NON-NLS-1$
+						break;
+					}
+				}
+			}
+			else {
+				statusLineManager.setMessage(""); //$NON-NLS-1$
+			}
+		}
+	}
 
   /**
-   * This looks up a string in the plugin's plugin.properties file.
-   * <!-- begin-user-doc -->
+	 * This looks up a string in the plugin's plugin.properties file.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private static String getString(String key)
   {
-    return EXTLibraryEditorPlugin.INSTANCE.getString(key);
-  }
+		return EXTLibraryEditorPlugin.INSTANCE.getString(key);
+	}
 
   /**
-   * This looks up a string in plugin.properties, making a substitution.
-   * <!-- begin-user-doc -->
+	 * This looks up a string in plugin.properties, making a substitution.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private static String getString(String key, Object s1)
   {
-    return EXTLibraryEditorPlugin.INSTANCE.getString(key, new Object [] { s1 });
-  }
+		return EXTLibraryEditorPlugin.INSTANCE.getString(key, new Object [] { s1 });
+	}
 
   /**
-   * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
-   * <!-- begin-user-doc -->
+	 * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void menuAboutToShow(IMenuManager menuManager)
   {
-    ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
-  }
+		((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EditingDomainActionBarContributor getActionBarContributor()
   {
-    return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
-  }
+		return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public IActionBars getActionBars()
   {
-    return getActionBarContributor().getActionBars();
-  }
+		return getActionBarContributor().getActionBars();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public AdapterFactory getAdapterFactory()
   {
-    return adapterFactory;
-  }
+		return adapterFactory;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void dispose()
   {
-    updateProblemIndication = false;
+		updateProblemIndication = false;
 
-    ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
 
-    getSite().getPage().removePartListener(partListener);
+		getSite().getPage().removePartListener(partListener);
 
-    adapterFactory.dispose();
+		adapterFactory.dispose();
 
-    if (getActionBarContributor().getActiveEditor() == this)
-    {
-      getActionBarContributor().setActiveEditor(null);
-    }
+		if (getActionBarContributor().getActiveEditor() == this) {
+			getActionBarContributor().setActiveEditor(null);
+		}
 
-    if (propertySheetPage != null)
-    {
-      propertySheetPage.dispose();
-    }
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
+			propertySheetPage.dispose();
+		}
 
-    if (contentOutlinePage != null)
-    {
-      contentOutlinePage.dispose();
-    }
+		if (contentOutlinePage != null) {
+			contentOutlinePage.dispose();
+		}
 
-    super.dispose();
-  }
+		super.dispose();
+	}
 
   /**
-   * Returns whether the outline view should be presented to the user.
-   * <!-- begin-user-doc -->
+	 * Returns whether the outline view should be presented to the user.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected boolean showOutlineView()
   {
-    return true;
-  }
+		return true;
+	}
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryEditorPlugin.java b/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryEditorPlugin.java
index af86031..8f0fe66 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryEditorPlugin.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryEditorPlugin.java
@@ -33,82 +33,81 @@
 public final class EXTLibraryEditorPlugin extends EMFPlugin
 {
   /**
-   * Keep track of the singleton.
-   * <!-- begin-user-doc -->
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public static final EXTLibraryEditorPlugin INSTANCE = new EXTLibraryEditorPlugin();
 
   /**
-   * Keep track of the singleton.
-   * <!-- begin-user-doc -->
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private static Implementation plugin;
 
   /**
-   * Create the instance.
-   * <!-- begin-user-doc -->
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EXTLibraryEditorPlugin()
   {
-    super
-      (new ResourceLocator [] 
-      {
-      });
-  }
+		super
+			(new ResourceLocator [] {
+			});
+	}
 
   /**
-   * Returns the singleton instance of the Eclipse plugin.
-   * <!-- begin-user-doc -->
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the singleton instance.
-   * @generated
-   */
+	 * @return the singleton instance.
+	 * @generated
+	 */
   @Override
   public ResourceLocator getPluginResourceLocator()
   {
-    return plugin;
-  }
+		return plugin;
+	}
 
   /**
-   * Returns the singleton instance of the Eclipse plugin.
-   * <!-- begin-user-doc -->
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the singleton instance.
-   * @generated
-   */
+	 * @return the singleton instance.
+	 * @generated
+	 */
   public static Implementation getPlugin()
   {
-    return plugin;
-  }
+		return plugin;
+	}
 
   /**
-   * The actual implementation of the Eclipse <b>Plugin</b>.
-   * <!-- begin-user-doc -->
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public static class Implementation extends EclipseUIPlugin
   {
     /**
-     * Creates an instance.
-     * <!-- begin-user-doc -->
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     public Implementation()
     {
-      super();
-  
-      // Remember the static instance.
-      //
-      plugin = this;
-    }
+			super();
+	
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
   }
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryModelWizard.java b/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryModelWizard.java
index c3f471d..1654aa5 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryModelWizard.java
+++ b/examples/org.eclipse.emf.parsley.examples.library.editor/src/org/eclipse/emf/parsley/examples/library/presentation/EXTLibraryModelWizard.java
@@ -90,6 +90,7 @@
 import org.eclipse.core.runtime.Path;
 
 
+import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 
@@ -108,595 +109,559 @@
 public class EXTLibraryModelWizard extends Wizard implements INewWizard
 {
   /**
-   * The supported extensions for created files.
-   * <!-- begin-user-doc -->
+	 * The supported extensions for created files.
+	 * <!-- begin-user-doc -->
    * @since 2.4
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public static final List<String> FILE_EXTENSIONS =
     Collections.unmodifiableList(Arrays.asList(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryEditorFilenameExtensions").split("\\s*,\\s*"))); //$NON-NLS-1$ //$NON-NLS-2$
 
   /**
-   * A formatted list of supported file extensions, suitable for display.
-   * <!-- begin-user-doc -->
+	 * A formatted list of supported file extensions, suitable for display.
+	 * <!-- begin-user-doc -->
    * @since 2.4
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public static final String FORMATTED_FILE_EXTENSIONS =
     EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
 
   /**
-   * This caches an instance of the model package.
-   * <!-- begin-user-doc -->
+	 * This caches an instance of the model package.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected EXTLibraryPackage extLibraryPackage = EXTLibraryPackage.eINSTANCE;
 
   /**
-   * This caches an instance of the model factory.
-   * <!-- begin-user-doc -->
+	 * This caches an instance of the model factory.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected EXTLibraryFactory extLibraryFactory = extLibraryPackage.getEXTLibraryFactory();
 
   /**
-   * This is the file creation page.
-   * <!-- begin-user-doc -->
+	 * This is the file creation page.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected EXTLibraryModelWizardNewFileCreationPage newFileCreationPage;
 
   /**
-   * This is the initial object creation page.
-   * <!-- begin-user-doc -->
+	 * This is the initial object creation page.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected EXTLibraryModelWizardInitialObjectCreationPage initialObjectCreationPage;
 
   /**
-   * Remember the selection during initialization for populating the default container.
-   * <!-- begin-user-doc -->
+	 * Remember the selection during initialization for populating the default container.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IStructuredSelection selection;
 
   /**
-   * Remember the workbench during initialization.
-   * <!-- begin-user-doc -->
+	 * Remember the workbench during initialization.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected IWorkbench workbench;
 
   /**
-   * Caches the names of the types that can be created as the root object.
-   * <!-- begin-user-doc -->
+	 * Caches the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected List<String> initialObjectNames;
 
   /**
-   * This just records the information.
-   * <!-- begin-user-doc -->
+	 * This just records the information.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void init(IWorkbench workbench, IStructuredSelection selection)
   {
-    this.workbench = workbench;
-    this.selection = selection;
-    setWindowTitle(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); //$NON-NLS-1$
-    setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(EXTLibraryEditorPlugin.INSTANCE.getImage("full/wizban/NewEXTLibrary"))); //$NON-NLS-1$
-  }
+		this.workbench = workbench;
+		this.selection = selection;
+		setWindowTitle(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); //$NON-NLS-1$
+		setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(EXTLibraryEditorPlugin.INSTANCE.getImage("full/wizban/NewEXTLibrary"))); //$NON-NLS-1$
+	}
 
   /**
-   * Returns the names of the types that can be created as the root object.
-   * <!-- begin-user-doc -->
+	 * Returns the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected Collection<String> getInitialObjectNames()
   {
-    if (initialObjectNames == null)
-    {
-      initialObjectNames = new ArrayList<String>();
-      for (EClassifier eClassifier : extLibraryPackage.getEClassifiers())
-      {
-        if (eClassifier instanceof EClass)
-        {
-          EClass eClass = (EClass)eClassifier;
-          if (!eClass.isAbstract())
-          {
-            initialObjectNames.add(eClass.getName());
-          }
-        }
-      }
-      Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
-    }
-    return initialObjectNames;
-  }
+		if (initialObjectNames == null) {
+			initialObjectNames = new ArrayList<String>();
+			for (EClassifier eClassifier : extLibraryPackage.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 -->
+	 * Create a new model.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected EObject createInitialModel()
   {
-    EClass eClass = (EClass)extLibraryPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
-    EObject rootObject = extLibraryFactory.create(eClass);
-    return rootObject;
-  }
+		EClass eClass = (EClass)extLibraryPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+		EObject rootObject = extLibraryFactory.create(eClass);
+		return rootObject;
+	}
 
   /**
-   * Do the work after everything is specified.
-   * <!-- begin-user-doc -->
+	 * Do the work after everything is specified.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean performFinish()
   {
-    try
-    {
-      // Remember the file.
-      //
-      final IFile modelFile = getModelFile();
+		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();
+			// 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);
+							// 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, EXTLibraryPackage.eCONTENT_TYPE);
+							// Create a resource for this file.
+							//
+							Resource resource = resourceSet.createResource(fileURI, EXTLibraryPackage.eCONTENT_TYPE);
 
-              // Add the initial model object to the contents.
-              //
-              EObject rootObject = createInitialModel();
-              if (rootObject != null)
-              {
-                resource.getContents().add(rootObject);
-              }
+							// 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)
-            {
-              EXTLibraryEditorPlugin.INSTANCE.log(exception);
-            }
-            finally
-            {
-              progressMonitor.done();
-            }
-          }
-        };
+							// 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) {
+							EXTLibraryEditorPlugin.INSTANCE.log(exception);
+						}
+						finally {
+							progressMonitor.done();
+						}
+					}
+				};
 
-      getContainer().run(false, false, operation);
+			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);
-             }
-           });
-      }
+			// 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(), EXTLibraryEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); //$NON-NLS-1$
-        return false;
-      }
+			// Open an editor on the new file.
+			//
+			try {
+				page.openEditor
+					(new FileEditorInput(modelFile),
+					 workbench.getEditorRegistry().getDefaultEditor
+					 	(modelFile.getFullPath().toString(),
+					 	 Platform.getContentTypeManager().getContentType(EXTLibraryPackage.eCONTENT_TYPE)).getId());					 	 
+			}
+			catch (PartInitException exception) {
+				MessageDialog.openError(workbenchWindow.getShell(), EXTLibraryEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); //$NON-NLS-1$
+				return false;
+			}
 
-      return true;
-    }
-    catch (Exception exception)
-    {
-      EXTLibraryEditorPlugin.INSTANCE.log(exception);
-      return false;
-    }
-  }
+			return true;
+		}
+		catch (Exception exception) {
+			EXTLibraryEditorPlugin.INSTANCE.log(exception);
+			return false;
+		}
+	}
 
   /**
-   * This is the one page of the wizard.
-   * <!-- begin-user-doc -->
+	 * This is the one page of the wizard.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public class EXTLibraryModelWizardNewFileCreationPage extends WizardNewFileCreationPage
   {
     /**
-     * Pass in the selection.
-     * <!-- begin-user-doc -->
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     public EXTLibraryModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection)
     {
-      super(pageId, selection);
-    }
+			super(pageId, selection);
+		}
 
     /**
-     * The framework calls this to see if the file is correct.
-     * <!-- begin-user-doc -->
+		 * The framework calls this to see if the file is correct.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @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(EXTLibraryEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
-          return false;
-        }
-        return true;
-      }
-      return false;
-    }
+			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(EXTLibraryEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+					return false;
+				}
+				return true;
+			}
+			return false;
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     public IFile getModelFile()
     {
-      return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
-    }
+			return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+		}
   }
 
   /**
-   * This is the page where the type of object to create is selected.
-   * <!-- begin-user-doc -->
+	 * This is the page where the type of object to create is selected.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public class EXTLibraryModelWizardInitialObjectCreationPage extends WizardPage
   {
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     protected Combo initialObjectField;
 
     /**
-     * @generated
-     * <!-- begin-user-doc -->
+		 * @generated
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     */
+		 */
     protected List<String> encodings;
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     protected Combo encodingField;
 
     /**
-     * Pass in the selection.
-     * <!-- begin-user-doc -->
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     public EXTLibraryModelWizardInitialObjectCreationPage(String pageId)
     {
-      super(pageId);
-    }
+			super(pageId);
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @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);
+			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);
-      }
+				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(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_ModelObject")); //$NON-NLS-1$
+			Label containerLabel = new Label(composite, SWT.LEFT);
+			{
+				containerLabel.setText(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_ModelObject")); //$NON-NLS-1$
 
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        containerLabel.setLayoutData(data);
-      }
+				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);
-      }
+			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));
-      }
+			for (String objectName : getInitialObjectNames()) {
+				initialObjectField.add(getLabel(objectName));
+			}
 
-      if (initialObjectField.getItemCount() == 1)
-      {
-        initialObjectField.select(0);
-      }
-      initialObjectField.addModifyListener(validator);
+			if (initialObjectField.getItemCount() == 1) {
+				initialObjectField.select(0);
+			}
+			initialObjectField.addModifyListener(validator);
 
-      Label encodingLabel = new Label(composite, SWT.LEFT);
-      {
-        encodingLabel.setText(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_XMLEncoding")); //$NON-NLS-1$
+			Label encodingLabel = new Label(composite, SWT.LEFT);
+			{
+				encodingLabel.setText(EXTLibraryEditorPlugin.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);
-      }
+				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);
-      }
+			for (String encoding : getEncodings()) {
+				encodingField.add(encoding);
+			}
 
-      encodingField.select(0);
-      encodingField.addModifyListener(validator);
+			encodingField.select(0);
+			encodingField.addModifyListener(validator);
 
-      setPageComplete(validatePage());
-      setControl(composite);
-    }
+			setPageComplete(validatePage());
+			setControl(composite);
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     protected ModifyListener validator =
-      new ModifyListener()
-      {
-        public void modifyText(ModifyEvent e)
-        {
-          setPageComplete(validatePage());
-        }
-      };
+      new ModifyListener() {
+				public void modifyText(ModifyEvent e) {
+					setPageComplete(validatePage());
+				}
+			};
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     protected boolean validatePage()
     {
-      return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
-    }
+			return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @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();
-        }
-      }
-    }
+			super.setVisible(visible);
+			if (visible) {
+				if (initialObjectField.getItemCount() == 1) {
+					initialObjectField.clearSelection();
+					encodingField.setFocus();
+				}
+				else {
+					encodingField.clearSelection();
+					initialObjectField.setFocus();
+				}
+			}
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     public String getInitialObjectName()
     {
-      String label = initialObjectField.getText();
+			String label = initialObjectField.getText();
 
-      for (String name : getInitialObjectNames())
-      {
-        if (getLabel(name).equals(label))
-        {
-          return name;
-        }
-      }
-      return null;
-    }
+			for (String name : getInitialObjectNames()) {
+				if (getLabel(name).equals(label)) {
+					return name;
+				}
+			}
+			return null;
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     public String getEncoding()
     {
-      return encodingField.getText();
-    }
+			return encodingField.getText();
+		}
 
     /**
-     * Returns the label for the specified type name.
-     * <!-- begin-user-doc -->
+		 * Returns the label for the specified type name.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     protected String getLabel(String typeName)
     {
-      try
-      {
-        return EXTLibraryEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); //$NON-NLS-1$ //$NON-NLS-2$
-      }
-      catch(MissingResourceException mre)
-      {
-        EXTLibraryEditorPlugin.INSTANCE.log(mre);
-      }
-      return typeName;
-    }
+			try {
+				return EXTLibraryEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); //$NON-NLS-1$ //$NON-NLS-2$
+			}
+			catch(MissingResourceException mre) {
+				EXTLibraryEditorPlugin.INSTANCE.log(mre);
+			}
+			return typeName;
+		}
 
     /**
-     * <!-- begin-user-doc -->
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     protected Collection<String> getEncodings()
     {
-      if (encodings == null)
-      {
-        encodings = new ArrayList<String>();
-        for (StringTokenizer stringTokenizer = new StringTokenizer(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) //$NON-NLS-1$
-        {
-          encodings.add(stringTokenizer.nextToken());
-        }
-      }
-      return encodings;
-    }
+			if (encodings == null) {
+				encodings = new ArrayList<String>();
+				for (StringTokenizer stringTokenizer = new StringTokenizer(EXTLibraryEditorPlugin.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 -->
+	 * The framework calls this to create the contents of the wizard.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void addPages()
   {
-    // Create a page, set the title, and the initial model file name.
-    //
-    newFileCreationPage = new EXTLibraryModelWizardNewFileCreationPage("Whatever", selection); //$NON-NLS-1$
-    newFileCreationPage.setTitle(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryModelWizard_label")); //$NON-NLS-1$
-    newFileCreationPage.setDescription(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryModelWizard_description")); //$NON-NLS-1$
-    newFileCreationPage.setFileName(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0)); //$NON-NLS-1$ //$NON-NLS-2$
-    addPage(newFileCreationPage);
+		// Create a page, set the title, and the initial model file name.
+		//
+		newFileCreationPage = new EXTLibraryModelWizardNewFileCreationPage("Whatever", selection); //$NON-NLS-1$
+		newFileCreationPage.setTitle(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryModelWizard_label")); //$NON-NLS-1$
+		newFileCreationPage.setDescription(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryModelWizard_description")); //$NON-NLS-1$
+		newFileCreationPage.setFileName(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryEditorFilenameDefaultBase") + "." + 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();
-        }
+		// 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());
+				// 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 = EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryEditorFilenameDefaultBase"); //$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 EXTLibraryModelWizardInitialObjectCreationPage("Whatever2"); //$NON-NLS-1$
-    initialObjectCreationPage.setTitle(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryModelWizard_label")); //$NON-NLS-1$
-    initialObjectCreationPage.setDescription(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); //$NON-NLS-1$
-    addPage(initialObjectCreationPage);
-  }
+					// Make up a unique new name here.
+					//
+					String defaultModelBaseFilename = EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryEditorFilenameDefaultBase"); //$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 EXTLibraryModelWizardInitialObjectCreationPage("Whatever2"); //$NON-NLS-1$
+		initialObjectCreationPage.setTitle(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_EXTLibraryModelWizard_label")); //$NON-NLS-1$
+		initialObjectCreationPage.setDescription(EXTLibraryEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); //$NON-NLS-1$
+		addPage(initialObjectCreationPage);
+	}
 
   /**
-   * Get the file from the page.
-   * <!-- begin-user-doc -->
+	 * Get the file from the page.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public IFile getModelFile()
   {
-    return newFileCreationPage.getModelFile();
-  }
+		return newFileCreationPage.getModelFile();
+	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library.ui/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.library.ui/META-INF/MANIFEST.MF
index 3cdb1d4..8395140 100644
--- a/examples/org.eclipse.emf.parsley.examples.library.ui/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.library.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.library
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.library.ui;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.examples.library.Activator
 Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
  org.eclipse.core.runtime;bundle-version="3.5.0",
diff --git a/examples/org.eclipse.emf.parsley.examples.library/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.library/META-INF/MANIFEST.MF
index 9b2438c..c1f47e0 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.library/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.library;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
diff --git a/examples/org.eclipse.emf.parsley.examples.library/model/extlibrary.ecore b/examples/org.eclipse.emf.parsley.examples.library/model/extlibrary.ecore
index 2966067..1a9d471 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/model/extlibrary.ecore
+++ b/examples/org.eclipse.emf.parsley.examples.library/model/extlibrary.ecore
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="extlibrary" nsURI="http:///org/eclipse/emf/parsley/examples/library/extlibrary.ecore/0.1.0"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="library" nsURI="http:///org/eclipse/emf/parsley/examples/library/extlibrary.ecore/0.1.0"
     nsPrefix="extlib">
   <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
diff --git a/examples/org.eclipse.emf.parsley.examples.library/model/extlibrary.genmodel b/examples/org.eclipse.emf.parsley.examples.library/model/extlibrary.genmodel
index 56a4df7..eb57a6b 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/model/extlibrary.genmodel
+++ b/examples/org.eclipse.emf.parsley.examples.library/model/extlibrary.genmodel
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
     xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.parsley.examples.library/src"
     editDirectory="/org.eclipse.emf.parsley.examples.library.edit/src" editorDirectory="/org.eclipse.emf.parsley.examples.library.editor/src"
     modelPluginID="org.eclipse.emf.parsley.examples.library" runtimeJar="true" modelName="EXTLibrary"
@@ -10,14 +9,14 @@
     importerID="org.eclipse.emf.importer.ecore" containmentProxies="true" complianceLevel="5.0"
     language="en">
   <foreignModel>extlibrary.ecore</foreignModel>
-  <genPackages prefix="EXTLibrary" basePackage="org.eclipse.emf.examples" disposableProviderFactory="true"
-      contentTypeIdentifier="emfParsleyLibrary" ecorePackage="extlibrary.ecore#/">
+  <genPackages prefix="EXTLibrary" basePackage="org.eclipse.emf.parsley.examples"
+      disposableProviderFactory="true" contentTypeIdentifier="emfParsleyLibrary" ecorePackage="extlibrary.ecore#/">
     <genEnums ecoreEnum="extlibrary.ecore#//BookCategory">
       <genEnumLiterals ecoreEnumLiteral="extlibrary.ecore#//BookCategory/Mystery"/>
       <genEnumLiterals ecoreEnumLiteral="extlibrary.ecore#//BookCategory/ScienceFiction"/>
       <genEnumLiterals ecoreEnumLiteral="extlibrary.ecore#//BookCategory/Biography"/>
     </genEnums>
-    <genClasses ecoreClass="extlibrary.ecore#//Book" labelFeature="#//extlibrary/Book/title">
+    <genClasses ecoreClass="extlibrary.ecore#//Book" labelFeature="#//library/Book/title">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Book/title"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Book/pages"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Book/category"/>
@@ -46,30 +45,30 @@
       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference extlibrary.ecore#//Lendable/borrowers"/>
     </genClasses>
     <genClasses ecoreClass="extlibrary.ecore#//CirculatingItem"/>
-    <genClasses image="false" ecoreClass="extlibrary.ecore#//Periodical" labelFeature="#//extlibrary/Periodical/title">
+    <genClasses image="false" ecoreClass="extlibrary.ecore#//Periodical" labelFeature="#//library/Periodical/title">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Periodical/title"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Periodical/issuesPerYear"/>
     </genClasses>
-    <genClasses image="false" ecoreClass="extlibrary.ecore#//AudioVisualItem" labelFeature="#//extlibrary/AudioVisualItem/title">
+    <genClasses image="false" ecoreClass="extlibrary.ecore#//AudioVisualItem" labelFeature="#//library/AudioVisualItem/title">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//AudioVisualItem/title"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//AudioVisualItem/minutesLength"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//AudioVisualItem/damaged"/>
     </genClasses>
-    <genClasses ecoreClass="extlibrary.ecore#//BookOnTape" labelFeature="#//extlibrary/AudioVisualItem/title">
+    <genClasses ecoreClass="extlibrary.ecore#//BookOnTape" labelFeature="#//library/AudioVisualItem/title">
       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference extlibrary.ecore#//BookOnTape/reader"/>
       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference extlibrary.ecore#//BookOnTape/author"/>
     </genClasses>
-    <genClasses ecoreClass="extlibrary.ecore#//VideoCassette" labelFeature="#//extlibrary/AudioVisualItem/title">
+    <genClasses ecoreClass="extlibrary.ecore#//VideoCassette" labelFeature="#//library/AudioVisualItem/title">
       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference extlibrary.ecore#//VideoCassette/cast"/>
     </genClasses>
-    <genClasses ecoreClass="extlibrary.ecore#//Borrower" labelFeature="#//extlibrary/Person/lastName">
+    <genClasses ecoreClass="extlibrary.ecore#//Borrower" labelFeature="#//library/Person/lastName">
       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference extlibrary.ecore#//Borrower/borrowed"/>
     </genClasses>
-    <genClasses ecoreClass="extlibrary.ecore#//Person" labelFeature="#//extlibrary/Person/lastName">
+    <genClasses ecoreClass="extlibrary.ecore#//Person" labelFeature="#//library/Person/lastName">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Person/firstName"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Person/lastName"/>
     </genClasses>
-    <genClasses ecoreClass="extlibrary.ecore#//Employee" labelFeature="#//extlibrary/Person/lastName">
+    <genClasses ecoreClass="extlibrary.ecore#//Employee" labelFeature="#//library/Person/lastName">
       <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference extlibrary.ecore#//Employee/manager"/>
     </genClasses>
     <genClasses ecoreClass="extlibrary.ecore#//Addressable">
diff --git a/examples/org.eclipse.emf.parsley.examples.library/pom.xml b/examples/org.eclipse.emf.parsley.examples.library/pom.xml
index 4676b99..2011d3d 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.library/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.library</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Addressable.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Addressable.java
index 93e6087..82516b8 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Addressable.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Addressable.java
@@ -27,10 +27,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Addressable#getAddress <em>Address</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getAddressable()
  * @model interface="true" abstract="true"
@@ -39,25 +39,25 @@
 public interface Addressable extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Address</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Address</em>' attribute.
-   * @see #setAddress(String)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getAddressable_Address()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Address</em>' attribute.
+	 * @see #setAddress(String)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getAddressable_Address()
+	 * @model
+	 * @generated
+	 */
   String getAddress();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Addressable#getAddress <em>Address</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Addressable#getAddress <em>Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Address</em>' attribute.
-   * @see #getAddress()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Address</em>' attribute.
+	 * @see #getAddress()
+	 * @generated
+	 */
   void setAddress(String value);
 
 } // Addressable
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/AudioVisualItem.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/AudioVisualItem.java
index 0968d62..0ae48de 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/AudioVisualItem.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/AudioVisualItem.java
@@ -24,12 +24,12 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#getTitle <em>Title</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#getMinutesLength <em>Minutes Length</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#isDamaged <em>Damaged</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getAudioVisualItem()
  * @model abstract="true"
@@ -38,69 +38,69 @@
 public interface AudioVisualItem extends CirculatingItem
 {
   /**
-   * Returns the value of the '<em><b>Title</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Title</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Title</em>' attribute.
-   * @see #setTitle(String)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getAudioVisualItem_Title()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Title</em>' attribute.
+	 * @see #setTitle(String)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getAudioVisualItem_Title()
+	 * @model
+	 * @generated
+	 */
   String getTitle();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#getTitle <em>Title</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#getTitle <em>Title</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Title</em>' attribute.
-   * @see #getTitle()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Title</em>' attribute.
+	 * @see #getTitle()
+	 * @generated
+	 */
   void setTitle(String value);
 
   /**
-   * Returns the value of the '<em><b>Minutes Length</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Minutes Length</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Minutes Length</em>' attribute.
-   * @see #setMinutesLength(int)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getAudioVisualItem_MinutesLength()
-   * @model required="true"
-   * @generated
-   */
+	 * @return the value of the '<em>Minutes Length</em>' attribute.
+	 * @see #setMinutesLength(int)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getAudioVisualItem_MinutesLength()
+	 * @model required="true"
+	 * @generated
+	 */
   int getMinutesLength();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#getMinutesLength <em>Minutes Length</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#getMinutesLength <em>Minutes Length</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Minutes Length</em>' attribute.
-   * @see #getMinutesLength()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Minutes Length</em>' attribute.
+	 * @see #getMinutesLength()
+	 * @generated
+	 */
   void setMinutesLength(int value);
 
   /**
-   * Returns the value of the '<em><b>Damaged</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Damaged</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Damaged</em>' attribute.
-   * @see #setDamaged(boolean)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getAudioVisualItem_Damaged()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Damaged</em>' attribute.
+	 * @see #setDamaged(boolean)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getAudioVisualItem_Damaged()
+	 * @model
+	 * @generated
+	 */
   boolean isDamaged();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#isDamaged <em>Damaged</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#isDamaged <em>Damaged</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Damaged</em>' attribute.
-   * @see #isDamaged()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Damaged</em>' attribute.
+	 * @see #isDamaged()
+	 * @generated
+	 */
   void setDamaged(boolean value);
 
 } // AudioVisualItem
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Book.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Book.java
index 712bf13..381a273 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Book.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Book.java
@@ -24,13 +24,13 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Book#getTitle <em>Title</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Book#getPages <em>Pages</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Book#getCategory <em>Category</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Book#getAuthor <em>Author</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBook()
  * @model
@@ -39,124 +39,124 @@
 public interface Book extends CirculatingItem
 {
   /**
-   * Returns the value of the '<em><b>Title</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Title</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Title</em>' attribute.
-   * @see #setTitle(String)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBook_Title()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Title</em>' attribute.
+	 * @see #setTitle(String)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBook_Title()
+	 * @model
+	 * @generated
+	 */
   String getTitle();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getTitle <em>Title</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getTitle <em>Title</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Title</em>' attribute.
-   * @see #getTitle()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Title</em>' attribute.
+	 * @see #getTitle()
+	 * @generated
+	 */
   void setTitle(String value);
 
   /**
-   * Returns the value of the '<em><b>Pages</b></em>' attribute.
-   * The default value is <code>"100"</code>.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Pages</b></em>' attribute.
+	 * The default value is <code>"100"</code>.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Pages</em>' attribute.
-   * @see #setPages(int)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBook_Pages()
-   * @model default="100"
-   * @generated
-   */
+	 * @return the value of the '<em>Pages</em>' attribute.
+	 * @see #setPages(int)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBook_Pages()
+	 * @model default="100"
+	 * @generated
+	 */
   int getPages();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getPages <em>Pages</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getPages <em>Pages</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Pages</em>' attribute.
-   * @see #getPages()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Pages</em>' attribute.
+	 * @see #getPages()
+	 * @generated
+	 */
   void setPages(int value);
 
   /**
-   * Returns the value of the '<em><b>Category</b></em>' attribute.
-   * The literals are from the enumeration {@link org.eclipse.emf.parsley.examples.library.BookCategory}.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Category</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.emf.parsley.examples.library.BookCategory}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Category</em>' attribute.
-   * @see org.eclipse.emf.parsley.examples.library.BookCategory
-   * @see #isSetCategory()
-   * @see #unsetCategory()
-   * @see #setCategory(BookCategory)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBook_Category()
-   * @model unsettable="true"
-   * @generated
-   */
+	 * @return the value of the '<em>Category</em>' attribute.
+	 * @see org.eclipse.emf.parsley.examples.library.BookCategory
+	 * @see #isSetCategory()
+	 * @see #unsetCategory()
+	 * @see #setCategory(BookCategory)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBook_Category()
+	 * @model unsettable="true"
+	 * @generated
+	 */
   BookCategory getCategory();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getCategory <em>Category</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getCategory <em>Category</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Category</em>' attribute.
-   * @see org.eclipse.emf.parsley.examples.library.BookCategory
-   * @see #isSetCategory()
-   * @see #unsetCategory()
-   * @see #getCategory()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Category</em>' attribute.
+	 * @see org.eclipse.emf.parsley.examples.library.BookCategory
+	 * @see #isSetCategory()
+	 * @see #unsetCategory()
+	 * @see #getCategory()
+	 * @generated
+	 */
   void setCategory(BookCategory value);
 
   /**
-   * Unsets the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getCategory <em>Category</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Unsets the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getCategory <em>Category</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #isSetCategory()
-   * @see #getCategory()
-   * @see #setCategory(BookCategory)
-   * @generated
-   */
+	 * @see #isSetCategory()
+	 * @see #getCategory()
+	 * @see #setCategory(BookCategory)
+	 * @generated
+	 */
   void unsetCategory();
 
   /**
-   * Returns whether the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getCategory <em>Category</em>}' attribute is set.
-   * <!-- begin-user-doc -->
+	 * Returns whether the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getCategory <em>Category</em>}' attribute is set.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return whether the value of the '<em>Category</em>' attribute is set.
-   * @see #unsetCategory()
-   * @see #getCategory()
-   * @see #setCategory(BookCategory)
-   * @generated
-   */
+	 * @return whether the value of the '<em>Category</em>' attribute is set.
+	 * @see #unsetCategory()
+	 * @see #getCategory()
+	 * @see #setCategory(BookCategory)
+	 * @generated
+	 */
   boolean isSetCategory();
 
   /**
-   * Returns the value of the '<em><b>Author</b></em>' reference.
-   * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Writer#getBooks <em>Books</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Author</b></em>' reference.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Writer#getBooks <em>Books</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Author</em>' reference.
-   * @see #setAuthor(Writer)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBook_Author()
-   * @see org.eclipse.emf.parsley.examples.library.Writer#getBooks
-   * @model opposite="books" required="true"
-   * @generated
-   */
+	 * @return the value of the '<em>Author</em>' reference.
+	 * @see #setAuthor(Writer)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBook_Author()
+	 * @see org.eclipse.emf.parsley.examples.library.Writer#getBooks
+	 * @model opposite="books" required="true"
+	 * @generated
+	 */
   Writer getAuthor();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getAuthor <em>Author</em>}' reference.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Book#getAuthor <em>Author</em>}' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Author</em>' reference.
-   * @see #getAuthor()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Author</em>' reference.
+	 * @see #getAuthor()
+	 * @generated
+	 */
   void setAuthor(Writer value);
 
 } // Book
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/BookCategory.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/BookCategory.java
index 2c0f758..df31ac3 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/BookCategory.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/BookCategory.java
@@ -36,215 +36,215 @@
 public enum BookCategory implements Enumerator
 {
   /**
-   * The '<em><b>Mystery</b></em>' literal object.
-   * <!-- begin-user-doc -->
+	 * The '<em><b>Mystery</b></em>' literal object.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #MYSTERY
-   * @generated
-   * @ordered
-   */
+	 * @see #MYSTERY
+	 * @generated
+	 * @ordered
+	 */
   MYSTERY_LITERAL(0, "Mystery", "Mystery"),
   /**
-   * The '<em><b>Science Fiction</b></em>' literal object.
-   * <!-- begin-user-doc -->
+	 * The '<em><b>Science Fiction</b></em>' literal object.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #SCIENCE_FICTION
-   * @generated
-   * @ordered
-   */
+	 * @see #SCIENCE_FICTION
+	 * @generated
+	 * @ordered
+	 */
   SCIENCE_FICTION_LITERAL(1, "ScienceFiction", "ScienceFiction"),
   /**
-   * The '<em><b>Biography</b></em>' literal object.
-   * <!-- begin-user-doc -->
+	 * The '<em><b>Biography</b></em>' literal object.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #BIOGRAPHY
-   * @generated
-   * @ordered
-   */
+	 * @see #BIOGRAPHY
+	 * @generated
+	 * @ordered
+	 */
   BIOGRAPHY_LITERAL(2, "Biography", "Biography");
   /**
-   * The '<em><b>Mystery</b></em>' literal value.
-   * <!-- begin-user-doc -->
+	 * The '<em><b>Mystery</b></em>' literal value.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #MYSTERY_LITERAL
-   * @model name="Mystery"
-   * @generated
-   * @ordered
-   */
+	 * @see #MYSTERY_LITERAL
+	 * @model name="Mystery"
+	 * @generated
+	 * @ordered
+	 */
   public static final int MYSTERY = 0;
 
   /**
-   * The '<em><b>Science Fiction</b></em>' literal value.
-   * <!-- begin-user-doc -->
+	 * The '<em><b>Science Fiction</b></em>' literal value.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #SCIENCE_FICTION_LITERAL
-   * @model name="ScienceFiction"
-   * @generated
-   * @ordered
-   */
+	 * @see #SCIENCE_FICTION_LITERAL
+	 * @model name="ScienceFiction"
+	 * @generated
+	 * @ordered
+	 */
   public static final int SCIENCE_FICTION = 1;
 
   /**
-   * The '<em><b>Biography</b></em>' literal value.
-   * <!-- begin-user-doc -->
+	 * The '<em><b>Biography</b></em>' literal value.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #BIOGRAPHY_LITERAL
-   * @model name="Biography"
-   * @generated
-   * @ordered
-   */
+	 * @see #BIOGRAPHY_LITERAL
+	 * @model name="Biography"
+	 * @generated
+	 * @ordered
+	 */
   public static final int BIOGRAPHY = 2;
 
   /**
-   * An array of all the '<em><b>Book Category</b></em>' enumerators.
-   * <!-- begin-user-doc -->
+	 * An array of all the '<em><b>Book Category</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private static final BookCategory[] VALUES_ARRAY =
-    new BookCategory[]
-    {
-      MYSTERY_LITERAL,
-      SCIENCE_FICTION_LITERAL,
-      BIOGRAPHY_LITERAL,
-    };
+    new BookCategory[] {
+			MYSTERY_LITERAL,
+			SCIENCE_FICTION_LITERAL,
+			BIOGRAPHY_LITERAL,
+		};
 
   /**
-   * A public read-only list of all the '<em><b>Book Category</b></em>' enumerators.
-   * <!-- begin-user-doc -->
+	 * A public read-only list of all the '<em><b>Book Category</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public static final List<BookCategory> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
 
   /**
-   * Returns the '<em><b>Book Category</b></em>' literal with the specified literal value.
-   * <!-- begin-user-doc -->
+	 * Returns the '<em><b>Book Category</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
   public static BookCategory get(String literal)
   {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      BookCategory result = VALUES_ARRAY[i];
-      if (result.toString().equals(literal))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			BookCategory result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
 
   /**
-   * Returns the '<em><b>Book Category</b></em>' literal with the specified name.
-   * <!-- begin-user-doc -->
+	 * Returns the '<em><b>Book Category</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
   public static BookCategory getByName(String name)
   {
-    for (int i = 0; i < VALUES_ARRAY.length; ++i)
-    {
-      BookCategory result = VALUES_ARRAY[i];
-      if (result.getName().equals(name))
-      {
-        return result;
-      }
-    }
-    return null;
-  }
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			BookCategory result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
 
   /**
-   * Returns the '<em><b>Book Category</b></em>' literal with the specified integer value.
-   * <!-- begin-user-doc -->
+	 * Returns the '<em><b>Book Category</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
   public static BookCategory get(int value)
   {
-    switch (value)
-    {
-      case MYSTERY: return MYSTERY_LITERAL;
-      case SCIENCE_FICTION: return SCIENCE_FICTION_LITERAL;
-      case BIOGRAPHY: return BIOGRAPHY_LITERAL;
-    }
-    return null;
-  }
+		switch (value) {
+			case MYSTERY: return MYSTERY_LITERAL;
+			case SCIENCE_FICTION: return SCIENCE_FICTION_LITERAL;
+			case BIOGRAPHY: return BIOGRAPHY_LITERAL;
+		}
+		return null;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private final int value;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private final String name;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private final String literal;
 
   /**
-   * Only this class can construct instances.
-   * <!-- begin-user-doc -->
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private BookCategory(int value, String name, String literal)
   {
-    this.value = value;
-    this.name = name;
-    this.literal = literal;
-  }
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public int getValue()
   {
-    return value;
-  }
+	  return value;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String getName()
   {
-    return name;
-  }
+	  return name;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String getLiteral()
   {
-    return literal;
-  }
+	  return literal;
+	}
 
   /**
-   * Returns the literal value of the enumerator, which is its string representation.
-   * <!-- begin-user-doc -->
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String toString()
   {
-    return literal;
-  }
+		return literal;
+	}
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/BookOnTape.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/BookOnTape.java
index 2a81bd8..8744b45 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/BookOnTape.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/BookOnTape.java
@@ -24,11 +24,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.BookOnTape#getReader <em>Reader</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.BookOnTape#getAuthor <em>Author</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBookOnTape()
  * @model
@@ -37,47 +37,47 @@
 public interface BookOnTape extends AudioVisualItem
 {
   /**
-   * Returns the value of the '<em><b>Reader</b></em>' reference.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Reader</b></em>' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Reader</em>' reference.
-   * @see #setReader(Person)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBookOnTape_Reader()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Reader</em>' reference.
+	 * @see #setReader(Person)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBookOnTape_Reader()
+	 * @model
+	 * @generated
+	 */
   Person getReader();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.BookOnTape#getReader <em>Reader</em>}' reference.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.BookOnTape#getReader <em>Reader</em>}' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Reader</em>' reference.
-   * @see #getReader()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Reader</em>' reference.
+	 * @see #getReader()
+	 * @generated
+	 */
   void setReader(Person value);
 
   /**
-   * Returns the value of the '<em><b>Author</b></em>' reference.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Author</b></em>' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Author</em>' reference.
-   * @see #setAuthor(Writer)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBookOnTape_Author()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Author</em>' reference.
+	 * @see #setAuthor(Writer)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBookOnTape_Author()
+	 * @model
+	 * @generated
+	 */
   Writer getAuthor();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.BookOnTape#getAuthor <em>Author</em>}' reference.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.BookOnTape#getAuthor <em>Author</em>}' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Author</em>' reference.
-   * @see #getAuthor()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Author</em>' reference.
+	 * @see #getAuthor()
+	 * @generated
+	 */
   void setAuthor(Writer value);
 
 } // BookOnTape
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Borrower.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Borrower.java
index 5bb68ac..56ce57b 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Borrower.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Borrower.java
@@ -27,10 +27,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Borrower#getBorrowed <em>Borrowed</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBorrower()
  * @model
@@ -39,17 +39,17 @@
 public interface Borrower extends Person
 {
   /**
-   * Returns the value of the '<em><b>Borrowed</b></em>' reference list.
-   * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Lendable}.
-   * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Lendable#getBorrowers <em>Borrowers</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Borrowed</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Lendable}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Lendable#getBorrowers <em>Borrowers</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Borrowed</em>' reference list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBorrower_Borrowed()
-   * @see org.eclipse.emf.parsley.examples.library.Lendable#getBorrowers
-   * @model opposite="borrowers"
-   * @generated
-   */
+	 * @return the value of the '<em>Borrowed</em>' reference list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getBorrower_Borrowed()
+	 * @see org.eclipse.emf.parsley.examples.library.Lendable#getBorrowers
+	 * @model opposite="borrowers"
+	 * @generated
+	 */
   EList<Lendable> getBorrowed();
 
 } // Borrower
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/EXTLibraryFactory.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/EXTLibraryFactory.java
index 5e12f6e..8fcb597 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/EXTLibraryFactory.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/EXTLibraryFactory.java
@@ -31,92 +31,92 @@
 public interface EXTLibraryFactory extends EFactory
 {
   /**
-   * The singleton instance of the factory.
-   * <!-- begin-user-doc -->
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   EXTLibraryFactory eINSTANCE = org.eclipse.emf.parsley.examples.library.impl.EXTLibraryFactoryImpl.init();
 
   /**
-   * Returns a new object of class '<em>Book</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns a new object of class '<em>Book</em>'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return a new object of class '<em>Book</em>'.
-   * @generated
-   */
+	 * @return a new object of class '<em>Book</em>'.
+	 * @generated
+	 */
   Book createBook();
 
   /**
-   * Returns a new object of class '<em>Library</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns a new object of class '<em>Library</em>'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return a new object of class '<em>Library</em>'.
-   * @generated
-   */
+	 * @return a new object of class '<em>Library</em>'.
+	 * @generated
+	 */
   Library createLibrary();
 
   /**
-   * Returns a new object of class '<em>Writer</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns a new object of class '<em>Writer</em>'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return a new object of class '<em>Writer</em>'.
-   * @generated
-   */
+	 * @return a new object of class '<em>Writer</em>'.
+	 * @generated
+	 */
   Writer createWriter();
 
   /**
-   * Returns a new object of class '<em>Book On Tape</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns a new object of class '<em>Book On Tape</em>'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return a new object of class '<em>Book On Tape</em>'.
-   * @generated
-   */
+	 * @return a new object of class '<em>Book On Tape</em>'.
+	 * @generated
+	 */
   BookOnTape createBookOnTape();
 
   /**
-   * Returns a new object of class '<em>Video Cassette</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns a new object of class '<em>Video Cassette</em>'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return a new object of class '<em>Video Cassette</em>'.
-   * @generated
-   */
+	 * @return a new object of class '<em>Video Cassette</em>'.
+	 * @generated
+	 */
   VideoCassette createVideoCassette();
 
   /**
-   * Returns a new object of class '<em>Borrower</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns a new object of class '<em>Borrower</em>'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return a new object of class '<em>Borrower</em>'.
-   * @generated
-   */
+	 * @return a new object of class '<em>Borrower</em>'.
+	 * @generated
+	 */
   Borrower createBorrower();
 
   /**
-   * Returns a new object of class '<em>Person</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns a new object of class '<em>Person</em>'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return a new object of class '<em>Person</em>'.
-   * @generated
-   */
+	 * @return a new object of class '<em>Person</em>'.
+	 * @generated
+	 */
   Person createPerson();
 
   /**
-   * Returns a new object of class '<em>Employee</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns a new object of class '<em>Employee</em>'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return a new object of class '<em>Employee</em>'.
-   * @generated
-   */
+	 * @return a new object of class '<em>Employee</em>'.
+	 * @generated
+	 */
   Employee createEmployee();
 
   /**
-   * Returns the package supported by this factory.
-   * <!-- begin-user-doc -->
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the package supported by this factory.
-   * @generated
-   */
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
   EXTLibraryPackage getEXTLibraryPackage();
 
 } //EXTLibraryFactory
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/EXTLibraryPackage.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/EXTLibraryPackage.java
index 73be1f8..0853562 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/EXTLibraryPackage.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/EXTLibraryPackage.java
@@ -42,1400 +42,1400 @@
 public interface EXTLibraryPackage extends EPackage
 {
   /**
-   * The package name.
-   * <!-- begin-user-doc -->
+	 * The package name.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
-  String eNAME = "extlibrary"; //$NON-NLS-1$
+	 * @generated
+	 */
+  String eNAME = "library"; //$NON-NLS-1$
 
   /**
-   * The package namespace URI.
-   * <!-- begin-user-doc -->
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   String eNS_URI = "http:///org/eclipse/emf/parsley/examples/library/extlibrary.ecore/0.1.0"; //$NON-NLS-1$
 
   /**
-   * The package namespace name.
-   * <!-- begin-user-doc -->
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   String eNS_PREFIX = "extlib"; //$NON-NLS-1$
 
   /**
-   * The package content type ID.
-   * <!-- begin-user-doc -->
+	 * The package content type ID.
+	 * <!-- begin-user-doc -->
    * @since 2.4
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   String eCONTENT_TYPE = "emfParsleyLibrary"; //$NON-NLS-1$
 
   /**
-   * The singleton instance of the package.
-   * <!-- begin-user-doc -->
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   EXTLibraryPackage eINSTANCE = org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl.init();
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.ItemImpl <em>Item</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.ItemImpl <em>Item</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.ItemImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getItem()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.ItemImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getItem()
+	 * @generated
+	 */
   int ITEM = 3;
 
   /**
-   * The feature id for the '<em><b>Publication Date</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int ITEM__PUBLICATION_DATE = 0;
 
   /**
-   * The number of structural features of the '<em>Item</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Item</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int ITEM_FEATURE_COUNT = 1;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.CirculatingItemImpl <em>Circulating Item</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.CirculatingItemImpl <em>Circulating Item</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.CirculatingItemImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getCirculatingItem()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.CirculatingItemImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getCirculatingItem()
+	 * @generated
+	 */
   int CIRCULATING_ITEM = 5;
 
   /**
-   * The feature id for the '<em><b>Publication Date</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int CIRCULATING_ITEM__PUBLICATION_DATE = ITEM__PUBLICATION_DATE;
 
   /**
-   * The feature id for the '<em><b>Copies</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Copies</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int CIRCULATING_ITEM__COPIES = ITEM_FEATURE_COUNT + 0;
 
   /**
-   * The feature id for the '<em><b>Borrowers</b></em>' reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int CIRCULATING_ITEM__BORROWERS = ITEM_FEATURE_COUNT + 1;
 
   /**
-   * The number of structural features of the '<em>Circulating Item</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Circulating Item</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int CIRCULATING_ITEM_FEATURE_COUNT = ITEM_FEATURE_COUNT + 2;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.BookImpl <em>Book</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.BookImpl <em>Book</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.BookImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBook()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.BookImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBook()
+	 * @generated
+	 */
   int BOOK = 0;
 
   /**
-   * The feature id for the '<em><b>Publication Date</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK__PUBLICATION_DATE = CIRCULATING_ITEM__PUBLICATION_DATE;
 
   /**
-   * The feature id for the '<em><b>Copies</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Copies</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK__COPIES = CIRCULATING_ITEM__COPIES;
 
   /**
-   * The feature id for the '<em><b>Borrowers</b></em>' reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK__BORROWERS = CIRCULATING_ITEM__BORROWERS;
 
   /**
-   * The feature id for the '<em><b>Title</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Title</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK__TITLE = CIRCULATING_ITEM_FEATURE_COUNT + 0;
 
   /**
-   * The feature id for the '<em><b>Pages</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Pages</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK__PAGES = CIRCULATING_ITEM_FEATURE_COUNT + 1;
 
   /**
-   * The feature id for the '<em><b>Category</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Category</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK__CATEGORY = CIRCULATING_ITEM_FEATURE_COUNT + 2;
 
   /**
-   * The feature id for the '<em><b>Author</b></em>' reference.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Author</b></em>' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK__AUTHOR = CIRCULATING_ITEM_FEATURE_COUNT + 3;
 
   /**
-   * The number of structural features of the '<em>Book</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Book</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK_FEATURE_COUNT = CIRCULATING_ITEM_FEATURE_COUNT + 4;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.Addressable <em>Addressable</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.Addressable <em>Addressable</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.Addressable
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getAddressable()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.Addressable
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getAddressable()
+	 * @generated
+	 */
   int ADDRESSABLE = 13;
 
   /**
-   * The feature id for the '<em><b>Address</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int ADDRESSABLE__ADDRESS = 0;
 
   /**
-   * The number of structural features of the '<em>Addressable</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Addressable</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int ADDRESSABLE_FEATURE_COUNT = 1;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.LibraryImpl <em>Library</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.LibraryImpl <em>Library</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.LibraryImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getLibrary()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.LibraryImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getLibrary()
+	 * @generated
+	 */
   int LIBRARY = 1;
 
   /**
-   * The feature id for the '<em><b>Address</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY__ADDRESS = ADDRESSABLE__ADDRESS;
 
   /**
-   * The feature id for the '<em><b>Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY__NAME = ADDRESSABLE_FEATURE_COUNT + 0;
 
   /**
-   * The feature id for the '<em><b>Writers</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Writers</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY__WRITERS = ADDRESSABLE_FEATURE_COUNT + 1;
 
   /**
-   * The feature id for the '<em><b>Employees</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Employees</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY__EMPLOYEES = ADDRESSABLE_FEATURE_COUNT + 2;
 
   /**
-   * The feature id for the '<em><b>Borrowers</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Borrowers</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY__BORROWERS = ADDRESSABLE_FEATURE_COUNT + 3;
 
   /**
-   * The feature id for the '<em><b>Stock</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Stock</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY__STOCK = ADDRESSABLE_FEATURE_COUNT + 4;
 
   /**
-   * The feature id for the '<em><b>Books</b></em>' reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Books</b></em>' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY__BOOKS = ADDRESSABLE_FEATURE_COUNT + 5;
 
   /**
-   * The feature id for the '<em><b>Branches</b></em>' containment reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Branches</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY__BRANCHES = ADDRESSABLE_FEATURE_COUNT + 6;
 
   /**
-   * The feature id for the '<em><b>Parent Branch</b></em>' container reference.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Parent Branch</b></em>' container reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY__PARENT_BRANCH = ADDRESSABLE_FEATURE_COUNT + 7;
 
   /**
-   * The feature id for the '<em><b>People</b></em>' attribute list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>People</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY__PEOPLE = ADDRESSABLE_FEATURE_COUNT + 8;
 
   /**
-   * The number of structural features of the '<em>Library</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Library</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LIBRARY_FEATURE_COUNT = ADDRESSABLE_FEATURE_COUNT + 9;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.PersonImpl <em>Person</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.PersonImpl <em>Person</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.PersonImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getPerson()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.PersonImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getPerson()
+	 * @generated
+	 */
   int PERSON = 11;
 
   /**
-   * The feature id for the '<em><b>Address</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int PERSON__ADDRESS = ADDRESSABLE__ADDRESS;
 
   /**
-   * The feature id for the '<em><b>First Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>First Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int PERSON__FIRST_NAME = ADDRESSABLE_FEATURE_COUNT + 0;
 
   /**
-   * The feature id for the '<em><b>Last Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Last Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int PERSON__LAST_NAME = ADDRESSABLE_FEATURE_COUNT + 1;
 
   /**
-   * The number of structural features of the '<em>Person</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Person</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int PERSON_FEATURE_COUNT = ADDRESSABLE_FEATURE_COUNT + 2;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.WriterImpl <em>Writer</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.WriterImpl <em>Writer</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.WriterImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getWriter()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.WriterImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getWriter()
+	 * @generated
+	 */
   int WRITER = 2;
 
   /**
-   * The feature id for the '<em><b>Address</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int WRITER__ADDRESS = PERSON__ADDRESS;
 
   /**
-   * The feature id for the '<em><b>First Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>First Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int WRITER__FIRST_NAME = PERSON__FIRST_NAME;
 
   /**
-   * The feature id for the '<em><b>Last Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Last Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int WRITER__LAST_NAME = PERSON__LAST_NAME;
 
   /**
-   * The feature id for the '<em><b>Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int WRITER__NAME = PERSON_FEATURE_COUNT + 0;
 
   /**
-   * The feature id for the '<em><b>Books</b></em>' reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Books</b></em>' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int WRITER__BOOKS = PERSON_FEATURE_COUNT + 1;
 
   /**
-   * The number of structural features of the '<em>Writer</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Writer</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int WRITER_FEATURE_COUNT = PERSON_FEATURE_COUNT + 2;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.Lendable <em>Lendable</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.Lendable <em>Lendable</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.Lendable
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getLendable()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.Lendable
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getLendable()
+	 * @generated
+	 */
   int LENDABLE = 4;
 
   /**
-   * The feature id for the '<em><b>Copies</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Copies</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LENDABLE__COPIES = 0;
 
   /**
-   * The feature id for the '<em><b>Borrowers</b></em>' reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LENDABLE__BORROWERS = 1;
 
   /**
-   * The number of structural features of the '<em>Lendable</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Lendable</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int LENDABLE_FEATURE_COUNT = 2;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.PeriodicalImpl <em>Periodical</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.PeriodicalImpl <em>Periodical</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.PeriodicalImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getPeriodical()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.PeriodicalImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getPeriodical()
+	 * @generated
+	 */
   int PERIODICAL = 6;
 
   /**
-   * The feature id for the '<em><b>Publication Date</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int PERIODICAL__PUBLICATION_DATE = ITEM__PUBLICATION_DATE;
 
   /**
-   * The feature id for the '<em><b>Title</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Title</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int PERIODICAL__TITLE = ITEM_FEATURE_COUNT + 0;
 
   /**
-   * The feature id for the '<em><b>Issues Per Year</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Issues Per Year</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int PERIODICAL__ISSUES_PER_YEAR = ITEM_FEATURE_COUNT + 1;
 
   /**
-   * The number of structural features of the '<em>Periodical</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Periodical</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int PERIODICAL_FEATURE_COUNT = ITEM_FEATURE_COUNT + 2;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl <em>Audio Visual Item</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl <em>Audio Visual Item</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getAudioVisualItem()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getAudioVisualItem()
+	 * @generated
+	 */
   int AUDIO_VISUAL_ITEM = 7;
 
   /**
-   * The feature id for the '<em><b>Publication Date</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int AUDIO_VISUAL_ITEM__PUBLICATION_DATE = CIRCULATING_ITEM__PUBLICATION_DATE;
 
   /**
-   * The feature id for the '<em><b>Copies</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Copies</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int AUDIO_VISUAL_ITEM__COPIES = CIRCULATING_ITEM__COPIES;
 
   /**
-   * The feature id for the '<em><b>Borrowers</b></em>' reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int AUDIO_VISUAL_ITEM__BORROWERS = CIRCULATING_ITEM__BORROWERS;
 
   /**
-   * The feature id for the '<em><b>Title</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Title</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int AUDIO_VISUAL_ITEM__TITLE = CIRCULATING_ITEM_FEATURE_COUNT + 0;
 
   /**
-   * The feature id for the '<em><b>Minutes Length</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Minutes Length</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int AUDIO_VISUAL_ITEM__MINUTES_LENGTH = CIRCULATING_ITEM_FEATURE_COUNT + 1;
 
   /**
-   * The feature id for the '<em><b>Damaged</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Damaged</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int AUDIO_VISUAL_ITEM__DAMAGED = CIRCULATING_ITEM_FEATURE_COUNT + 2;
 
   /**
-   * The number of structural features of the '<em>Audio Visual Item</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Audio Visual Item</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int AUDIO_VISUAL_ITEM_FEATURE_COUNT = CIRCULATING_ITEM_FEATURE_COUNT + 3;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.BookOnTapeImpl <em>Book On Tape</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.BookOnTapeImpl <em>Book On Tape</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.BookOnTapeImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBookOnTape()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.BookOnTapeImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBookOnTape()
+	 * @generated
+	 */
   int BOOK_ON_TAPE = 8;
 
   /**
-   * The feature id for the '<em><b>Publication Date</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK_ON_TAPE__PUBLICATION_DATE = AUDIO_VISUAL_ITEM__PUBLICATION_DATE;
 
   /**
-   * The feature id for the '<em><b>Copies</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Copies</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK_ON_TAPE__COPIES = AUDIO_VISUAL_ITEM__COPIES;
 
   /**
-   * The feature id for the '<em><b>Borrowers</b></em>' reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK_ON_TAPE__BORROWERS = AUDIO_VISUAL_ITEM__BORROWERS;
 
   /**
-   * The feature id for the '<em><b>Title</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Title</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK_ON_TAPE__TITLE = AUDIO_VISUAL_ITEM__TITLE;
 
   /**
-   * The feature id for the '<em><b>Minutes Length</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Minutes Length</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK_ON_TAPE__MINUTES_LENGTH = AUDIO_VISUAL_ITEM__MINUTES_LENGTH;
 
   /**
-   * The feature id for the '<em><b>Damaged</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Damaged</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK_ON_TAPE__DAMAGED = AUDIO_VISUAL_ITEM__DAMAGED;
 
   /**
-   * The feature id for the '<em><b>Reader</b></em>' reference.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Reader</b></em>' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK_ON_TAPE__READER = AUDIO_VISUAL_ITEM_FEATURE_COUNT + 0;
 
   /**
-   * The feature id for the '<em><b>Author</b></em>' reference.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Author</b></em>' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK_ON_TAPE__AUTHOR = AUDIO_VISUAL_ITEM_FEATURE_COUNT + 1;
 
   /**
-   * The number of structural features of the '<em>Book On Tape</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Book On Tape</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BOOK_ON_TAPE_FEATURE_COUNT = AUDIO_VISUAL_ITEM_FEATURE_COUNT + 2;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.VideoCassetteImpl <em>Video Cassette</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.VideoCassetteImpl <em>Video Cassette</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.VideoCassetteImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getVideoCassette()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.VideoCassetteImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getVideoCassette()
+	 * @generated
+	 */
   int VIDEO_CASSETTE = 9;
 
   /**
-   * The feature id for the '<em><b>Publication Date</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int VIDEO_CASSETTE__PUBLICATION_DATE = AUDIO_VISUAL_ITEM__PUBLICATION_DATE;
 
   /**
-   * The feature id for the '<em><b>Copies</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Copies</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int VIDEO_CASSETTE__COPIES = AUDIO_VISUAL_ITEM__COPIES;
 
   /**
-   * The feature id for the '<em><b>Borrowers</b></em>' reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int VIDEO_CASSETTE__BORROWERS = AUDIO_VISUAL_ITEM__BORROWERS;
 
   /**
-   * The feature id for the '<em><b>Title</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Title</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int VIDEO_CASSETTE__TITLE = AUDIO_VISUAL_ITEM__TITLE;
 
   /**
-   * The feature id for the '<em><b>Minutes Length</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Minutes Length</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int VIDEO_CASSETTE__MINUTES_LENGTH = AUDIO_VISUAL_ITEM__MINUTES_LENGTH;
 
   /**
-   * The feature id for the '<em><b>Damaged</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Damaged</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int VIDEO_CASSETTE__DAMAGED = AUDIO_VISUAL_ITEM__DAMAGED;
 
   /**
-   * The feature id for the '<em><b>Cast</b></em>' reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Cast</b></em>' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int VIDEO_CASSETTE__CAST = AUDIO_VISUAL_ITEM_FEATURE_COUNT + 0;
 
   /**
-   * The number of structural features of the '<em>Video Cassette</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Video Cassette</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int VIDEO_CASSETTE_FEATURE_COUNT = AUDIO_VISUAL_ITEM_FEATURE_COUNT + 1;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.BorrowerImpl <em>Borrower</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.BorrowerImpl <em>Borrower</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.BorrowerImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBorrower()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.BorrowerImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBorrower()
+	 * @generated
+	 */
   int BORROWER = 10;
 
   /**
-   * The feature id for the '<em><b>Address</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BORROWER__ADDRESS = PERSON__ADDRESS;
 
   /**
-   * The feature id for the '<em><b>First Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>First Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BORROWER__FIRST_NAME = PERSON__FIRST_NAME;
 
   /**
-   * The feature id for the '<em><b>Last Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Last Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BORROWER__LAST_NAME = PERSON__LAST_NAME;
 
   /**
-   * The feature id for the '<em><b>Borrowed</b></em>' reference list.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Borrowed</b></em>' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BORROWER__BORROWED = PERSON_FEATURE_COUNT + 0;
 
   /**
-   * The number of structural features of the '<em>Borrower</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Borrower</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int BORROWER_FEATURE_COUNT = PERSON_FEATURE_COUNT + 1;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.EmployeeImpl <em>Employee</em>}' class.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.impl.EmployeeImpl <em>Employee</em>}' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.impl.EmployeeImpl
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getEmployee()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EmployeeImpl
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getEmployee()
+	 * @generated
+	 */
   int EMPLOYEE = 12;
 
   /**
-   * The feature id for the '<em><b>Address</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Address</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int EMPLOYEE__ADDRESS = PERSON__ADDRESS;
 
   /**
-   * The feature id for the '<em><b>First Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>First Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int EMPLOYEE__FIRST_NAME = PERSON__FIRST_NAME;
 
   /**
-   * The feature id for the '<em><b>Last Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Last Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int EMPLOYEE__LAST_NAME = PERSON__LAST_NAME;
 
   /**
-   * The feature id for the '<em><b>Manager</b></em>' reference.
-   * <!-- begin-user-doc -->
+	 * The feature id for the '<em><b>Manager</b></em>' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int EMPLOYEE__MANAGER = PERSON_FEATURE_COUNT + 0;
 
   /**
-   * The number of structural features of the '<em>Employee</em>' class.
-   * <!-- begin-user-doc -->
+	 * The number of structural features of the '<em>Employee</em>' class.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   int EMPLOYEE_FEATURE_COUNT = PERSON_FEATURE_COUNT + 1;
 
   /**
-   * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.BookCategory <em>Book Category</em>}' enum.
-   * <!-- begin-user-doc -->
+	 * The meta object id for the '{@link org.eclipse.emf.parsley.examples.library.BookCategory <em>Book Category</em>}' enum.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.parsley.examples.library.BookCategory
-   * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBookCategory()
-   * @generated
-   */
+	 * @see org.eclipse.emf.parsley.examples.library.BookCategory
+	 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBookCategory()
+	 * @generated
+	 */
   int BOOK_CATEGORY = 14;
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Book <em>Book</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Book <em>Book</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Book</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Book
-   * @generated
-   */
+	 * @return the meta object for class '<em>Book</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Book
+	 * @generated
+	 */
   EClass getBook();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Book#getTitle <em>Title</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Book#getTitle <em>Title</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Title</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Book#getTitle()
-   * @see #getBook()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Title</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Book#getTitle()
+	 * @see #getBook()
+	 * @generated
+	 */
   EAttribute getBook_Title();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Book#getPages <em>Pages</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Book#getPages <em>Pages</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Pages</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Book#getPages()
-   * @see #getBook()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Pages</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Book#getPages()
+	 * @see #getBook()
+	 * @generated
+	 */
   EAttribute getBook_Pages();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Book#getCategory <em>Category</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Book#getCategory <em>Category</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Category</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Book#getCategory()
-   * @see #getBook()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Category</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Book#getCategory()
+	 * @see #getBook()
+	 * @generated
+	 */
   EAttribute getBook_Category();
 
   /**
-   * Returns the meta object for the reference '{@link org.eclipse.emf.parsley.examples.library.Book#getAuthor <em>Author</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the reference '{@link org.eclipse.emf.parsley.examples.library.Book#getAuthor <em>Author</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the reference '<em>Author</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Book#getAuthor()
-   * @see #getBook()
-   * @generated
-   */
+	 * @return the meta object for the reference '<em>Author</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Book#getAuthor()
+	 * @see #getBook()
+	 * @generated
+	 */
   EReference getBook_Author();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Library <em>Library</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Library <em>Library</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Library</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Library
-   * @generated
-   */
+	 * @return the meta object for class '<em>Library</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Library
+	 * @generated
+	 */
   EClass getLibrary();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Library#getName <em>Name</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Library#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Name</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Library#getName()
-   * @see #getLibrary()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getName()
+	 * @see #getLibrary()
+	 * @generated
+	 */
   EAttribute getLibrary_Name();
 
   /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getWriters <em>Writers</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getWriters <em>Writers</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Writers</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Library#getWriters()
-   * @see #getLibrary()
-   * @generated
-   */
+	 * @return the meta object for the containment reference list '<em>Writers</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getWriters()
+	 * @see #getLibrary()
+	 * @generated
+	 */
   EReference getLibrary_Writers();
 
   /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getEmployees <em>Employees</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getEmployees <em>Employees</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Employees</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Library#getEmployees()
-   * @see #getLibrary()
-   * @generated
-   */
+	 * @return the meta object for the containment reference list '<em>Employees</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getEmployees()
+	 * @see #getLibrary()
+	 * @generated
+	 */
   EReference getLibrary_Employees();
 
   /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getBorrowers <em>Borrowers</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getBorrowers <em>Borrowers</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Borrowers</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Library#getBorrowers()
-   * @see #getLibrary()
-   * @generated
-   */
+	 * @return the meta object for the containment reference list '<em>Borrowers</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getBorrowers()
+	 * @see #getLibrary()
+	 * @generated
+	 */
   EReference getLibrary_Borrowers();
 
   /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getStock <em>Stock</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getStock <em>Stock</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Stock</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Library#getStock()
-   * @see #getLibrary()
-   * @generated
-   */
+	 * @return the meta object for the containment reference list '<em>Stock</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getStock()
+	 * @see #getLibrary()
+	 * @generated
+	 */
   EReference getLibrary_Stock();
 
   /**
-   * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getBooks <em>Books</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getBooks <em>Books</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the reference list '<em>Books</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Library#getBooks()
-   * @see #getLibrary()
-   * @generated
-   */
+	 * @return the meta object for the reference list '<em>Books</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getBooks()
+	 * @see #getLibrary()
+	 * @generated
+	 */
   EReference getLibrary_Books();
 
   /**
-   * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getBranches <em>Branches</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.emf.parsley.examples.library.Library#getBranches <em>Branches</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the containment reference list '<em>Branches</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Library#getBranches()
-   * @see #getLibrary()
-   * @generated
-   */
+	 * @return the meta object for the containment reference list '<em>Branches</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getBranches()
+	 * @see #getLibrary()
+	 * @generated
+	 */
   EReference getLibrary_Branches();
 
   /**
-   * Returns the meta object for the container reference '{@link org.eclipse.emf.parsley.examples.library.Library#getParentBranch <em>Parent Branch</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the container reference '{@link org.eclipse.emf.parsley.examples.library.Library#getParentBranch <em>Parent Branch</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the container reference '<em>Parent Branch</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Library#getParentBranch()
-   * @see #getLibrary()
-   * @generated
-   */
+	 * @return the meta object for the container reference '<em>Parent Branch</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getParentBranch()
+	 * @see #getLibrary()
+	 * @generated
+	 */
   EReference getLibrary_ParentBranch();
 
   /**
-   * Returns the meta object for the attribute list '{@link org.eclipse.emf.parsley.examples.library.Library#getPeople <em>People</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute list '{@link org.eclipse.emf.parsley.examples.library.Library#getPeople <em>People</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute list '<em>People</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Library#getPeople()
-   * @see #getLibrary()
-   * @generated
-   */
+	 * @return the meta object for the attribute list '<em>People</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getPeople()
+	 * @see #getLibrary()
+	 * @generated
+	 */
   EAttribute getLibrary_People();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Writer <em>Writer</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Writer <em>Writer</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Writer</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Writer
-   * @generated
-   */
+	 * @return the meta object for class '<em>Writer</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Writer
+	 * @generated
+	 */
   EClass getWriter();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Writer#getName <em>Name</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Writer#getName <em>Name</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Name</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Writer#getName()
-   * @see #getWriter()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Name</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Writer#getName()
+	 * @see #getWriter()
+	 * @generated
+	 */
   EAttribute getWriter_Name();
 
   /**
-   * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.library.Writer#getBooks <em>Books</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.library.Writer#getBooks <em>Books</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the reference list '<em>Books</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Writer#getBooks()
-   * @see #getWriter()
-   * @generated
-   */
+	 * @return the meta object for the reference list '<em>Books</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Writer#getBooks()
+	 * @see #getWriter()
+	 * @generated
+	 */
   EReference getWriter_Books();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Item <em>Item</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Item <em>Item</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Item</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Item
-   * @generated
-   */
+	 * @return the meta object for class '<em>Item</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Item
+	 * @generated
+	 */
   EClass getItem();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Item#getPublicationDate <em>Publication Date</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Item#getPublicationDate <em>Publication Date</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Publication Date</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Item#getPublicationDate()
-   * @see #getItem()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Publication Date</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Item#getPublicationDate()
+	 * @see #getItem()
+	 * @generated
+	 */
   EAttribute getItem_PublicationDate();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Lendable <em>Lendable</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Lendable <em>Lendable</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Lendable</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Lendable
-   * @generated
-   */
+	 * @return the meta object for class '<em>Lendable</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Lendable
+	 * @generated
+	 */
   EClass getLendable();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Lendable#getCopies <em>Copies</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Lendable#getCopies <em>Copies</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Copies</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Lendable#getCopies()
-   * @see #getLendable()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Copies</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Lendable#getCopies()
+	 * @see #getLendable()
+	 * @generated
+	 */
   EAttribute getLendable_Copies();
 
   /**
-   * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.library.Lendable#getBorrowers <em>Borrowers</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.library.Lendable#getBorrowers <em>Borrowers</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the reference list '<em>Borrowers</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Lendable#getBorrowers()
-   * @see #getLendable()
-   * @generated
-   */
+	 * @return the meta object for the reference list '<em>Borrowers</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Lendable#getBorrowers()
+	 * @see #getLendable()
+	 * @generated
+	 */
   EReference getLendable_Borrowers();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.CirculatingItem <em>Circulating Item</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.CirculatingItem <em>Circulating Item</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Circulating Item</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.CirculatingItem
-   * @generated
-   */
+	 * @return the meta object for class '<em>Circulating Item</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.CirculatingItem
+	 * @generated
+	 */
   EClass getCirculatingItem();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Periodical <em>Periodical</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Periodical <em>Periodical</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Periodical</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Periodical
-   * @generated
-   */
+	 * @return the meta object for class '<em>Periodical</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Periodical
+	 * @generated
+	 */
   EClass getPeriodical();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Periodical#getTitle <em>Title</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Periodical#getTitle <em>Title</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Title</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Periodical#getTitle()
-   * @see #getPeriodical()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Title</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Periodical#getTitle()
+	 * @see #getPeriodical()
+	 * @generated
+	 */
   EAttribute getPeriodical_Title();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Periodical#getIssuesPerYear <em>Issues Per Year</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Periodical#getIssuesPerYear <em>Issues Per Year</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Issues Per Year</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Periodical#getIssuesPerYear()
-   * @see #getPeriodical()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Issues Per Year</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Periodical#getIssuesPerYear()
+	 * @see #getPeriodical()
+	 * @generated
+	 */
   EAttribute getPeriodical_IssuesPerYear();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem <em>Audio Visual Item</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem <em>Audio Visual Item</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Audio Visual Item</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.AudioVisualItem
-   * @generated
-   */
+	 * @return the meta object for class '<em>Audio Visual Item</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.AudioVisualItem
+	 * @generated
+	 */
   EClass getAudioVisualItem();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#getTitle <em>Title</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#getTitle <em>Title</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Title</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.AudioVisualItem#getTitle()
-   * @see #getAudioVisualItem()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Title</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.AudioVisualItem#getTitle()
+	 * @see #getAudioVisualItem()
+	 * @generated
+	 */
   EAttribute getAudioVisualItem_Title();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#getMinutesLength <em>Minutes Length</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#getMinutesLength <em>Minutes Length</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Minutes Length</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.AudioVisualItem#getMinutesLength()
-   * @see #getAudioVisualItem()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Minutes Length</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.AudioVisualItem#getMinutesLength()
+	 * @see #getAudioVisualItem()
+	 * @generated
+	 */
   EAttribute getAudioVisualItem_MinutesLength();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#isDamaged <em>Damaged</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem#isDamaged <em>Damaged</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Damaged</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.AudioVisualItem#isDamaged()
-   * @see #getAudioVisualItem()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Damaged</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.AudioVisualItem#isDamaged()
+	 * @see #getAudioVisualItem()
+	 * @generated
+	 */
   EAttribute getAudioVisualItem_Damaged();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.BookOnTape <em>Book On Tape</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.BookOnTape <em>Book On Tape</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Book On Tape</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.BookOnTape
-   * @generated
-   */
+	 * @return the meta object for class '<em>Book On Tape</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.BookOnTape
+	 * @generated
+	 */
   EClass getBookOnTape();
 
   /**
-   * Returns the meta object for the reference '{@link org.eclipse.emf.parsley.examples.library.BookOnTape#getReader <em>Reader</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the reference '{@link org.eclipse.emf.parsley.examples.library.BookOnTape#getReader <em>Reader</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the reference '<em>Reader</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.BookOnTape#getReader()
-   * @see #getBookOnTape()
-   * @generated
-   */
+	 * @return the meta object for the reference '<em>Reader</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.BookOnTape#getReader()
+	 * @see #getBookOnTape()
+	 * @generated
+	 */
   EReference getBookOnTape_Reader();
 
   /**
-   * Returns the meta object for the reference '{@link org.eclipse.emf.parsley.examples.library.BookOnTape#getAuthor <em>Author</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the reference '{@link org.eclipse.emf.parsley.examples.library.BookOnTape#getAuthor <em>Author</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the reference '<em>Author</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.BookOnTape#getAuthor()
-   * @see #getBookOnTape()
-   * @generated
-   */
+	 * @return the meta object for the reference '<em>Author</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.BookOnTape#getAuthor()
+	 * @see #getBookOnTape()
+	 * @generated
+	 */
   EReference getBookOnTape_Author();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.VideoCassette <em>Video Cassette</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.VideoCassette <em>Video Cassette</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Video Cassette</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.VideoCassette
-   * @generated
-   */
+	 * @return the meta object for class '<em>Video Cassette</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.VideoCassette
+	 * @generated
+	 */
   EClass getVideoCassette();
 
   /**
-   * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.library.VideoCassette#getCast <em>Cast</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.library.VideoCassette#getCast <em>Cast</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the reference list '<em>Cast</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.VideoCassette#getCast()
-   * @see #getVideoCassette()
-   * @generated
-   */
+	 * @return the meta object for the reference list '<em>Cast</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.VideoCassette#getCast()
+	 * @see #getVideoCassette()
+	 * @generated
+	 */
   EReference getVideoCassette_Cast();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Borrower <em>Borrower</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Borrower <em>Borrower</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Borrower</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Borrower
-   * @generated
-   */
+	 * @return the meta object for class '<em>Borrower</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Borrower
+	 * @generated
+	 */
   EClass getBorrower();
 
   /**
-   * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.library.Borrower#getBorrowed <em>Borrowed</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the reference list '{@link org.eclipse.emf.parsley.examples.library.Borrower#getBorrowed <em>Borrowed</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the reference list '<em>Borrowed</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Borrower#getBorrowed()
-   * @see #getBorrower()
-   * @generated
-   */
+	 * @return the meta object for the reference list '<em>Borrowed</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Borrower#getBorrowed()
+	 * @see #getBorrower()
+	 * @generated
+	 */
   EReference getBorrower_Borrowed();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Person <em>Person</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Person <em>Person</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Person</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Person
-   * @generated
-   */
+	 * @return the meta object for class '<em>Person</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Person
+	 * @generated
+	 */
   EClass getPerson();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Person#getFirstName <em>First Name</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Person#getFirstName <em>First Name</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>First Name</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Person#getFirstName()
-   * @see #getPerson()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>First Name</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Person#getFirstName()
+	 * @see #getPerson()
+	 * @generated
+	 */
   EAttribute getPerson_FirstName();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Person#getLastName <em>Last Name</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Person#getLastName <em>Last Name</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Last Name</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Person#getLastName()
-   * @see #getPerson()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Last Name</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Person#getLastName()
+	 * @see #getPerson()
+	 * @generated
+	 */
   EAttribute getPerson_LastName();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Employee <em>Employee</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Employee <em>Employee</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Employee</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Employee
-   * @generated
-   */
+	 * @return the meta object for class '<em>Employee</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Employee
+	 * @generated
+	 */
   EClass getEmployee();
 
   /**
-   * Returns the meta object for the reference '{@link org.eclipse.emf.parsley.examples.library.Employee#getManager <em>Manager</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the reference '{@link org.eclipse.emf.parsley.examples.library.Employee#getManager <em>Manager</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the reference '<em>Manager</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Employee#getManager()
-   * @see #getEmployee()
-   * @generated
-   */
+	 * @return the meta object for the reference '<em>Manager</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Employee#getManager()
+	 * @see #getEmployee()
+	 * @generated
+	 */
   EReference getEmployee_Manager();
 
   /**
-   * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Addressable <em>Addressable</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for class '{@link org.eclipse.emf.parsley.examples.library.Addressable <em>Addressable</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for class '<em>Addressable</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Addressable
-   * @generated
-   */
+	 * @return the meta object for class '<em>Addressable</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Addressable
+	 * @generated
+	 */
   EClass getAddressable();
 
   /**
-   * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Addressable#getAddress <em>Address</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for the attribute '{@link org.eclipse.emf.parsley.examples.library.Addressable#getAddress <em>Address</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for the attribute '<em>Address</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.Addressable#getAddress()
-   * @see #getAddressable()
-   * @generated
-   */
+	 * @return the meta object for the attribute '<em>Address</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.Addressable#getAddress()
+	 * @see #getAddressable()
+	 * @generated
+	 */
   EAttribute getAddressable_Address();
 
   /**
-   * Returns the meta object for enum '{@link org.eclipse.emf.parsley.examples.library.BookCategory <em>Book Category</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the meta object for enum '{@link org.eclipse.emf.parsley.examples.library.BookCategory <em>Book Category</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the meta object for enum '<em>Book Category</em>'.
-   * @see org.eclipse.emf.parsley.examples.library.BookCategory
-   * @generated
-   */
+	 * @return the meta object for enum '<em>Book Category</em>'.
+	 * @see org.eclipse.emf.parsley.examples.library.BookCategory
+	 * @generated
+	 */
   EEnum getBookCategory();
 
   /**
-   * Returns the factory that creates the instances of the model.
-   * <!-- begin-user-doc -->
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the factory that creates the instances of the model.
-   * @generated
-   */
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
   EXTLibraryFactory getEXTLibraryFactory();
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * Defines literals for the meta objects that represent
    * <ul>
    *   <li>each class,</li>
@@ -1444,406 +1444,406 @@
    *   <li>and each data type</li>
    * </ul>
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   interface Literals
   {
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.BookImpl <em>Book</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.BookImpl <em>Book</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.BookImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBook()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.BookImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBook()
+		 * @generated
+		 */
     EClass BOOK = eINSTANCE.getBook();
 
     /**
-     * The meta object literal for the '<em><b>Title</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Title</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute BOOK__TITLE = eINSTANCE.getBook_Title();
 
     /**
-     * The meta object literal for the '<em><b>Pages</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Pages</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute BOOK__PAGES = eINSTANCE.getBook_Pages();
 
     /**
-     * The meta object literal for the '<em><b>Category</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Category</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute BOOK__CATEGORY = eINSTANCE.getBook_Category();
 
     /**
-     * The meta object literal for the '<em><b>Author</b></em>' reference feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Author</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference BOOK__AUTHOR = eINSTANCE.getBook_Author();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.LibraryImpl <em>Library</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.LibraryImpl <em>Library</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.LibraryImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getLibrary()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.LibraryImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getLibrary()
+		 * @generated
+		 */
     EClass LIBRARY = eINSTANCE.getLibrary();
 
     /**
-     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute LIBRARY__NAME = eINSTANCE.getLibrary_Name();
 
     /**
-     * The meta object literal for the '<em><b>Writers</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Writers</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference LIBRARY__WRITERS = eINSTANCE.getLibrary_Writers();
 
     /**
-     * The meta object literal for the '<em><b>Employees</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Employees</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference LIBRARY__EMPLOYEES = eINSTANCE.getLibrary_Employees();
 
     /**
-     * The meta object literal for the '<em><b>Borrowers</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Borrowers</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference LIBRARY__BORROWERS = eINSTANCE.getLibrary_Borrowers();
 
     /**
-     * The meta object literal for the '<em><b>Stock</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Stock</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference LIBRARY__STOCK = eINSTANCE.getLibrary_Stock();
 
     /**
-     * The meta object literal for the '<em><b>Books</b></em>' reference list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Books</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference LIBRARY__BOOKS = eINSTANCE.getLibrary_Books();
 
     /**
-     * The meta object literal for the '<em><b>Branches</b></em>' containment reference list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Branches</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference LIBRARY__BRANCHES = eINSTANCE.getLibrary_Branches();
 
     /**
-     * The meta object literal for the '<em><b>Parent Branch</b></em>' container reference feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Parent Branch</b></em>' container reference feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference LIBRARY__PARENT_BRANCH = eINSTANCE.getLibrary_ParentBranch();
 
     /**
-     * The meta object literal for the '<em><b>People</b></em>' attribute list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>People</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute LIBRARY__PEOPLE = eINSTANCE.getLibrary_People();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.WriterImpl <em>Writer</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.WriterImpl <em>Writer</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.WriterImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getWriter()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.WriterImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getWriter()
+		 * @generated
+		 */
     EClass WRITER = eINSTANCE.getWriter();
 
     /**
-     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute WRITER__NAME = eINSTANCE.getWriter_Name();
 
     /**
-     * The meta object literal for the '<em><b>Books</b></em>' reference list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Books</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference WRITER__BOOKS = eINSTANCE.getWriter_Books();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.ItemImpl <em>Item</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.ItemImpl <em>Item</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.ItemImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getItem()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.ItemImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getItem()
+		 * @generated
+		 */
     EClass ITEM = eINSTANCE.getItem();
 
     /**
-     * The meta object literal for the '<em><b>Publication Date</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Publication Date</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute ITEM__PUBLICATION_DATE = eINSTANCE.getItem_PublicationDate();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.Lendable <em>Lendable</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.Lendable <em>Lendable</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.Lendable
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getLendable()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.Lendable
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getLendable()
+		 * @generated
+		 */
     EClass LENDABLE = eINSTANCE.getLendable();
 
     /**
-     * The meta object literal for the '<em><b>Copies</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Copies</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute LENDABLE__COPIES = eINSTANCE.getLendable_Copies();
 
     /**
-     * The meta object literal for the '<em><b>Borrowers</b></em>' reference list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Borrowers</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference LENDABLE__BORROWERS = eINSTANCE.getLendable_Borrowers();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.CirculatingItemImpl <em>Circulating Item</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.CirculatingItemImpl <em>Circulating Item</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.CirculatingItemImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getCirculatingItem()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.CirculatingItemImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getCirculatingItem()
+		 * @generated
+		 */
     EClass CIRCULATING_ITEM = eINSTANCE.getCirculatingItem();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.PeriodicalImpl <em>Periodical</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.PeriodicalImpl <em>Periodical</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.PeriodicalImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getPeriodical()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.PeriodicalImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getPeriodical()
+		 * @generated
+		 */
     EClass PERIODICAL = eINSTANCE.getPeriodical();
 
     /**
-     * The meta object literal for the '<em><b>Title</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Title</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute PERIODICAL__TITLE = eINSTANCE.getPeriodical_Title();
 
     /**
-     * The meta object literal for the '<em><b>Issues Per Year</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Issues Per Year</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute PERIODICAL__ISSUES_PER_YEAR = eINSTANCE.getPeriodical_IssuesPerYear();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl <em>Audio Visual Item</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl <em>Audio Visual Item</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getAudioVisualItem()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getAudioVisualItem()
+		 * @generated
+		 */
     EClass AUDIO_VISUAL_ITEM = eINSTANCE.getAudioVisualItem();
 
     /**
-     * The meta object literal for the '<em><b>Title</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Title</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute AUDIO_VISUAL_ITEM__TITLE = eINSTANCE.getAudioVisualItem_Title();
 
     /**
-     * The meta object literal for the '<em><b>Minutes Length</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Minutes Length</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute AUDIO_VISUAL_ITEM__MINUTES_LENGTH = eINSTANCE.getAudioVisualItem_MinutesLength();
 
     /**
-     * The meta object literal for the '<em><b>Damaged</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Damaged</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute AUDIO_VISUAL_ITEM__DAMAGED = eINSTANCE.getAudioVisualItem_Damaged();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.BookOnTapeImpl <em>Book On Tape</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.BookOnTapeImpl <em>Book On Tape</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.BookOnTapeImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBookOnTape()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.BookOnTapeImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBookOnTape()
+		 * @generated
+		 */
     EClass BOOK_ON_TAPE = eINSTANCE.getBookOnTape();
 
     /**
-     * The meta object literal for the '<em><b>Reader</b></em>' reference feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Reader</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference BOOK_ON_TAPE__READER = eINSTANCE.getBookOnTape_Reader();
 
     /**
-     * The meta object literal for the '<em><b>Author</b></em>' reference feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Author</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference BOOK_ON_TAPE__AUTHOR = eINSTANCE.getBookOnTape_Author();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.VideoCassetteImpl <em>Video Cassette</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.VideoCassetteImpl <em>Video Cassette</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.VideoCassetteImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getVideoCassette()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.VideoCassetteImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getVideoCassette()
+		 * @generated
+		 */
     EClass VIDEO_CASSETTE = eINSTANCE.getVideoCassette();
 
     /**
-     * The meta object literal for the '<em><b>Cast</b></em>' reference list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Cast</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference VIDEO_CASSETTE__CAST = eINSTANCE.getVideoCassette_Cast();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.BorrowerImpl <em>Borrower</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.BorrowerImpl <em>Borrower</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.BorrowerImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBorrower()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.BorrowerImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBorrower()
+		 * @generated
+		 */
     EClass BORROWER = eINSTANCE.getBorrower();
 
     /**
-     * The meta object literal for the '<em><b>Borrowed</b></em>' reference list feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Borrowed</b></em>' reference list feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference BORROWER__BORROWED = eINSTANCE.getBorrower_Borrowed();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.PersonImpl <em>Person</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.PersonImpl <em>Person</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.PersonImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getPerson()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.PersonImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getPerson()
+		 * @generated
+		 */
     EClass PERSON = eINSTANCE.getPerson();
 
     /**
-     * The meta object literal for the '<em><b>First Name</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>First Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute PERSON__FIRST_NAME = eINSTANCE.getPerson_FirstName();
 
     /**
-     * The meta object literal for the '<em><b>Last Name</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Last Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute PERSON__LAST_NAME = eINSTANCE.getPerson_LastName();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.EmployeeImpl <em>Employee</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.impl.EmployeeImpl <em>Employee</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.impl.EmployeeImpl
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getEmployee()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EmployeeImpl
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getEmployee()
+		 * @generated
+		 */
     EClass EMPLOYEE = eINSTANCE.getEmployee();
 
     /**
-     * The meta object literal for the '<em><b>Manager</b></em>' reference feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Manager</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EReference EMPLOYEE__MANAGER = eINSTANCE.getEmployee_Manager();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.Addressable <em>Addressable</em>}' class.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.Addressable <em>Addressable</em>}' class.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.Addressable
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getAddressable()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.Addressable
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getAddressable()
+		 * @generated
+		 */
     EClass ADDRESSABLE = eINSTANCE.getAddressable();
 
     /**
-     * The meta object literal for the '<em><b>Address</b></em>' attribute feature.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '<em><b>Address</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @generated
-     */
+		 * @generated
+		 */
     EAttribute ADDRESSABLE__ADDRESS = eINSTANCE.getAddressable_Address();
 
     /**
-     * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.BookCategory <em>Book Category</em>}' enum.
-     * <!-- begin-user-doc -->
+		 * The meta object literal for the '{@link org.eclipse.emf.parsley.examples.library.BookCategory <em>Book Category</em>}' enum.
+		 * <!-- begin-user-doc -->
      * <!-- end-user-doc -->
-     * @see org.eclipse.emf.parsley.examples.library.BookCategory
-     * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBookCategory()
-     * @generated
-     */
+		 * @see org.eclipse.emf.parsley.examples.library.BookCategory
+		 * @see org.eclipse.emf.parsley.examples.library.impl.EXTLibraryPackageImpl#getBookCategory()
+		 * @generated
+		 */
     EEnum BOOK_CATEGORY = eINSTANCE.getBookCategory();
 
   }
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Employee.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Employee.java
index 58edbd3..0f29dac 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Employee.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Employee.java
@@ -24,10 +24,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Employee#getManager <em>Manager</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getEmployee()
  * @model
@@ -36,25 +36,25 @@
 public interface Employee extends Person
 {
   /**
-   * Returns the value of the '<em><b>Manager</b></em>' reference.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Manager</b></em>' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Manager</em>' reference.
-   * @see #setManager(Employee)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getEmployee_Manager()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Manager</em>' reference.
+	 * @see #setManager(Employee)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getEmployee_Manager()
+	 * @model
+	 * @generated
+	 */
   Employee getManager();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Employee#getManager <em>Manager</em>}' reference.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Employee#getManager <em>Manager</em>}' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Manager</em>' reference.
-   * @see #getManager()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Manager</em>' reference.
+	 * @see #getManager()
+	 * @generated
+	 */
   void setManager(Employee value);
 
 } // Employee
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Item.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Item.java
index 0e5b4e6..81ca554 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Item.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Item.java
@@ -29,10 +29,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Item#getPublicationDate <em>Publication Date</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getItem()
  * @model abstract="true"
@@ -41,25 +41,25 @@
 public interface Item extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Publication Date</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Publication Date</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Publication Date</em>' attribute.
-   * @see #setPublicationDate(Date)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getItem_PublicationDate()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Publication Date</em>' attribute.
+	 * @see #setPublicationDate(Date)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getItem_PublicationDate()
+	 * @model
+	 * @generated
+	 */
   Date getPublicationDate();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Item#getPublicationDate <em>Publication Date</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Item#getPublicationDate <em>Publication Date</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Publication Date</em>' attribute.
-   * @see #getPublicationDate()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Publication Date</em>' attribute.
+	 * @see #getPublicationDate()
+	 * @generated
+	 */
   void setPublicationDate(Date value);
 
 } // Item
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Lendable.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Lendable.java
index 3c0371d..b146f36 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Lendable.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Lendable.java
@@ -29,11 +29,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Lendable#getCopies <em>Copies</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Lendable#getBorrowers <em>Borrowers</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLendable()
  * @model interface="true" abstract="true"
@@ -42,39 +42,39 @@
 public interface Lendable extends EObject
 {
   /**
-   * Returns the value of the '<em><b>Copies</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Copies</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Copies</em>' attribute.
-   * @see #setCopies(int)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLendable_Copies()
-   * @model required="true"
-   * @generated
-   */
+	 * @return the value of the '<em>Copies</em>' attribute.
+	 * @see #setCopies(int)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLendable_Copies()
+	 * @model required="true"
+	 * @generated
+	 */
   int getCopies();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Lendable#getCopies <em>Copies</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Lendable#getCopies <em>Copies</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Copies</em>' attribute.
-   * @see #getCopies()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Copies</em>' attribute.
+	 * @see #getCopies()
+	 * @generated
+	 */
   void setCopies(int value);
 
   /**
-   * Returns the value of the '<em><b>Borrowers</b></em>' reference list.
-   * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Borrower}.
-   * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Borrower#getBorrowed <em>Borrowed</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Borrowers</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Borrower}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Borrower#getBorrowed <em>Borrowed</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Borrowers</em>' reference list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLendable_Borrowers()
-   * @see org.eclipse.emf.parsley.examples.library.Borrower#getBorrowed
-   * @model opposite="borrowed" ordered="false"
-   * @generated
-   */
+	 * @return the value of the '<em>Borrowers</em>' reference list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLendable_Borrowers()
+	 * @see org.eclipse.emf.parsley.examples.library.Borrower#getBorrowed
+	 * @model opposite="borrowed" ordered="false"
+	 * @generated
+	 */
   EList<Borrower> getBorrowers();
 
 } // Lendable
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Library.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Library.java
index a0390a2..1d576a7 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Library.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Library.java
@@ -29,6 +29,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Library#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Library#getWriters <em>Writers</em>}</li>
@@ -40,7 +41,6 @@
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Library#getParentBranch <em>Parent Branch</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Library#getPeople <em>People</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary()
  * @model
@@ -49,139 +49,139 @@
 public interface Library extends Addressable
 {
   /**
-   * Returns the value of the '<em><b>Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Name</em>' attribute.
-   * @see #setName(String)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Name()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Name()
+	 * @model
+	 * @generated
+	 */
   String getName();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Library#getName <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Library#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Name</em>' attribute.
-   * @see #getName()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
   void setName(String value);
 
   /**
-   * Returns the value of the '<em><b>Writers</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Writer}.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Writers</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Writer}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Writers</em>' containment reference list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Writers()
-   * @model containment="true" transient="true" volatile="true" derived="true"
-   *        extendedMetaData="group='#people'"
-   * @generated
-   */
+	 * @return the value of the '<em>Writers</em>' containment reference list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Writers()
+	 * @model containment="true" transient="true" volatile="true" derived="true"
+	 *        extendedMetaData="group='#people'"
+	 * @generated
+	 */
   EList<Writer> getWriters();
 
   /**
-   * Returns the value of the '<em><b>Employees</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Employee}.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Employees</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Employee}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Employees</em>' containment reference list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Employees()
-   * @model containment="true" transient="true" volatile="true" derived="true"
-   *        extendedMetaData="group='#people'"
-   * @generated
-   */
+	 * @return the value of the '<em>Employees</em>' containment reference list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Employees()
+	 * @model containment="true" transient="true" volatile="true" derived="true"
+	 *        extendedMetaData="group='#people'"
+	 * @generated
+	 */
   EList<Employee> getEmployees();
 
   /**
-   * Returns the value of the '<em><b>Borrowers</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Borrower}.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Borrowers</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Borrower}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Borrowers</em>' containment reference list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Borrowers()
-   * @model containment="true" transient="true" volatile="true" derived="true"
-   *        extendedMetaData="group='#people'"
-   * @generated
-   */
+	 * @return the value of the '<em>Borrowers</em>' containment reference list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Borrowers()
+	 * @model containment="true" transient="true" volatile="true" derived="true"
+	 *        extendedMetaData="group='#people'"
+	 * @generated
+	 */
   EList<Borrower> getBorrowers();
 
   /**
-   * Returns the value of the '<em><b>Stock</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Item}.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Stock</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Item}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Stock</em>' containment reference list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Stock()
-   * @model containment="true" ordered="false"
-   * @generated
-   */
+	 * @return the value of the '<em>Stock</em>' containment reference list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Stock()
+	 * @model containment="true" ordered="false"
+	 * @generated
+	 */
   EList<Item> getStock();
 
   /**
-   * Returns the value of the '<em><b>Books</b></em>' reference list.
-   * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Book}.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Books</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Book}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Books</em>' reference list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Books()
-   * @model transient="true" derived="true" ordered="false"
-   * @generated
-   */
+	 * @return the value of the '<em>Books</em>' reference list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Books()
+	 * @model transient="true" derived="true" ordered="false"
+	 * @generated
+	 */
   EList<Book> getBooks();
 
   /**
-   * Returns the value of the '<em><b>Branches</b></em>' containment reference list.
-   * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Library}.
-   * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Library#getParentBranch <em>Parent Branch</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Branches</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Library}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Library#getParentBranch <em>Parent Branch</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Branches</em>' containment reference list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Branches()
-   * @see org.eclipse.emf.parsley.examples.library.Library#getParentBranch
-   * @model opposite="parentBranch" containment="true" resolveProxies="true"
-   * @generated
-   */
+	 * @return the value of the '<em>Branches</em>' containment reference list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_Branches()
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getParentBranch
+	 * @model opposite="parentBranch" containment="true" resolveProxies="true"
+	 * @generated
+	 */
   EList<Library> getBranches();
 
   /**
-   * Returns the value of the '<em><b>Parent Branch</b></em>' container reference.
-   * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Library#getBranches <em>Branches</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Parent Branch</b></em>' container reference.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Library#getBranches <em>Branches</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Parent Branch</em>' container reference.
-   * @see #setParentBranch(Library)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_ParentBranch()
-   * @see org.eclipse.emf.parsley.examples.library.Library#getBranches
-   * @model opposite="branches" transient="false"
-   * @generated
-   */
+	 * @return the value of the '<em>Parent Branch</em>' container reference.
+	 * @see #setParentBranch(Library)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_ParentBranch()
+	 * @see org.eclipse.emf.parsley.examples.library.Library#getBranches
+	 * @model opposite="branches" transient="false"
+	 * @generated
+	 */
   Library getParentBranch();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Library#getParentBranch <em>Parent Branch</em>}' container reference.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Library#getParentBranch <em>Parent Branch</em>}' container reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Parent Branch</em>' container reference.
-   * @see #getParentBranch()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Parent Branch</em>' container reference.
+	 * @see #getParentBranch()
+	 * @generated
+	 */
   void setParentBranch(Library value);
 
   /**
-   * Returns the value of the '<em><b>People</b></em>' attribute list.
-   * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>People</b></em>' attribute list.
+	 * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>People</em>' attribute list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_People()
-   * @model dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
-   *        extendedMetaData="kind='group'"
-   * @generated
-   */
+	 * @return the value of the '<em>People</em>' attribute list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getLibrary_People()
+	 * @model dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+	 *        extendedMetaData="kind='group'"
+	 * @generated
+	 */
   FeatureMap getPeople();
 
 } // Library
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Periodical.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Periodical.java
index 041e0c1..71e9d44 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Periodical.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Periodical.java
@@ -24,11 +24,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Periodical#getTitle <em>Title</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Periodical#getIssuesPerYear <em>Issues Per Year</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getPeriodical()
  * @model abstract="true"
@@ -37,47 +37,47 @@
 public interface Periodical extends Item
 {
   /**
-   * Returns the value of the '<em><b>Title</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Title</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Title</em>' attribute.
-   * @see #setTitle(String)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getPeriodical_Title()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Title</em>' attribute.
+	 * @see #setTitle(String)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getPeriodical_Title()
+	 * @model
+	 * @generated
+	 */
   String getTitle();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Periodical#getTitle <em>Title</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Periodical#getTitle <em>Title</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Title</em>' attribute.
-   * @see #getTitle()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Title</em>' attribute.
+	 * @see #getTitle()
+	 * @generated
+	 */
   void setTitle(String value);
 
   /**
-   * Returns the value of the '<em><b>Issues Per Year</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Issues Per Year</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Issues Per Year</em>' attribute.
-   * @see #setIssuesPerYear(int)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getPeriodical_IssuesPerYear()
-   * @model required="true"
-   * @generated
-   */
+	 * @return the value of the '<em>Issues Per Year</em>' attribute.
+	 * @see #setIssuesPerYear(int)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getPeriodical_IssuesPerYear()
+	 * @model required="true"
+	 * @generated
+	 */
   int getIssuesPerYear();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Periodical#getIssuesPerYear <em>Issues Per Year</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Periodical#getIssuesPerYear <em>Issues Per Year</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Issues Per Year</em>' attribute.
-   * @see #getIssuesPerYear()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Issues Per Year</em>' attribute.
+	 * @see #getIssuesPerYear()
+	 * @generated
+	 */
   void setIssuesPerYear(int value);
 
 } // Periodical
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Person.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Person.java
index db39650..f3bfc41 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Person.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Person.java
@@ -24,11 +24,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Person#getFirstName <em>First Name</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Person#getLastName <em>Last Name</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getPerson()
  * @model
@@ -37,47 +37,47 @@
 public interface Person extends Addressable
 {
   /**
-   * Returns the value of the '<em><b>First Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>First Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>First Name</em>' attribute.
-   * @see #setFirstName(String)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getPerson_FirstName()
-   * @model required="true"
-   * @generated
-   */
+	 * @return the value of the '<em>First Name</em>' attribute.
+	 * @see #setFirstName(String)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getPerson_FirstName()
+	 * @model required="true"
+	 * @generated
+	 */
   String getFirstName();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Person#getFirstName <em>First Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Person#getFirstName <em>First Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>First Name</em>' attribute.
-   * @see #getFirstName()
-   * @generated
-   */
+	 * @param value the new value of the '<em>First Name</em>' attribute.
+	 * @see #getFirstName()
+	 * @generated
+	 */
   void setFirstName(String value);
 
   /**
-   * Returns the value of the '<em><b>Last Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Last Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Last Name</em>' attribute.
-   * @see #setLastName(String)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getPerson_LastName()
-   * @model required="true"
-   * @generated
-   */
+	 * @return the value of the '<em>Last Name</em>' attribute.
+	 * @see #setLastName(String)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getPerson_LastName()
+	 * @model required="true"
+	 * @generated
+	 */
   String getLastName();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Person#getLastName <em>Last Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Person#getLastName <em>Last Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Last Name</em>' attribute.
-   * @see #getLastName()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Last Name</em>' attribute.
+	 * @see #getLastName()
+	 * @generated
+	 */
   void setLastName(String value);
 
 } // Person
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/VideoCassette.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/VideoCassette.java
index 4134e8e..6ddbba8 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/VideoCassette.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/VideoCassette.java
@@ -27,10 +27,10 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.VideoCassette#getCast <em>Cast</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getVideoCassette()
  * @model
@@ -39,15 +39,15 @@
 public interface VideoCassette extends AudioVisualItem
 {
   /**
-   * Returns the value of the '<em><b>Cast</b></em>' reference list.
-   * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Person}.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Cast</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Person}.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Cast</em>' reference list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getVideoCassette_Cast()
-   * @model
-   * @generated
-   */
+	 * @return the value of the '<em>Cast</em>' reference list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getVideoCassette_Cast()
+	 * @model
+	 * @generated
+	 */
   EList<Person> getCast();
 
 } // VideoCassette
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Writer.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Writer.java
index b25b24f..63d7d4f 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Writer.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/Writer.java
@@ -27,11 +27,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Writer#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.Writer#getBooks <em>Books</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getWriter()
  * @model
@@ -40,39 +40,39 @@
 public interface Writer extends Person
 {
   /**
-   * Returns the value of the '<em><b>Name</b></em>' attribute.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Name</em>' attribute.
-   * @see #setName(String)
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getWriter_Name()
-   * @model transient="true" volatile="true"
-   * @generated
-   */
+	 * @return the value of the '<em>Name</em>' attribute.
+	 * @see #setName(String)
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getWriter_Name()
+	 * @model transient="true" volatile="true"
+	 * @generated
+	 */
   String getName();
 
   /**
-   * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Writer#getName <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * Sets the value of the '{@link org.eclipse.emf.parsley.examples.library.Writer#getName <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param value the new value of the '<em>Name</em>' attribute.
-   * @see #getName()
-   * @generated
-   */
+	 * @param value the new value of the '<em>Name</em>' attribute.
+	 * @see #getName()
+	 * @generated
+	 */
   void setName(String value);
 
   /**
-   * Returns the value of the '<em><b>Books</b></em>' reference list.
-   * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Book}.
-   * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Book#getAuthor <em>Author</em>}'.
-   * <!-- begin-user-doc -->
+	 * Returns the value of the '<em><b>Books</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.emf.parsley.examples.library.Book}.
+	 * It is bidirectional and its opposite is '{@link org.eclipse.emf.parsley.examples.library.Book#getAuthor <em>Author</em>}'.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the value of the '<em>Books</em>' reference list.
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getWriter_Books()
-   * @see org.eclipse.emf.parsley.examples.library.Book#getAuthor
-   * @model opposite="author"
-   * @generated
-   */
+	 * @return the value of the '<em>Books</em>' reference list.
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#getWriter_Books()
+	 * @see org.eclipse.emf.parsley.examples.library.Book#getAuthor
+	 * @model opposite="author"
+	 * @generated
+	 */
   EList<Book> getBooks();
 
 } // Writer
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/AudioVisualItemImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/AudioVisualItemImpl.java
index 5e4cd3d..5ff7184 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/AudioVisualItemImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/AudioVisualItemImpl.java
@@ -33,272 +33,268 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl#getTitle <em>Title</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl#getMinutesLength <em>Minutes Length</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.AudioVisualItemImpl#isDamaged <em>Damaged</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public abstract class AudioVisualItemImpl extends CirculatingItemImpl implements AudioVisualItem
 {
   /**
-   * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getTitle()
-   * @generated
-   * @ordered
-   */
+	 * @see #getTitle()
+	 * @generated
+	 * @ordered
+	 */
   protected static final String TITLE_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getTitle()
-   * @generated
-   * @ordered
-   */
+	 * @see #getTitle()
+	 * @generated
+	 * @ordered
+	 */
   protected String title = TITLE_EDEFAULT;
 
   /**
-   * The default value of the '{@link #getMinutesLength() <em>Minutes Length</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getMinutesLength() <em>Minutes Length</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getMinutesLength()
-   * @generated
-   * @ordered
-   */
+	 * @see #getMinutesLength()
+	 * @generated
+	 * @ordered
+	 */
   protected static final int MINUTES_LENGTH_EDEFAULT = 0;
 
   /**
-   * The cached value of the '{@link #getMinutesLength() <em>Minutes Length</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getMinutesLength() <em>Minutes Length</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getMinutesLength()
-   * @generated
-   * @ordered
-   */
+	 * @see #getMinutesLength()
+	 * @generated
+	 * @ordered
+	 */
   protected int minutesLength = MINUTES_LENGTH_EDEFAULT;
 
   /**
-   * The default value of the '{@link #isDamaged() <em>Damaged</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #isDamaged() <em>Damaged</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #isDamaged()
-   * @generated
-   * @ordered
-   */
+	 * @see #isDamaged()
+	 * @generated
+	 * @ordered
+	 */
   protected static final boolean DAMAGED_EDEFAULT = false;
 
   /**
-   * The flag representing the value of the '{@link #isDamaged() <em>Damaged</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The flag representing the value of the '{@link #isDamaged() <em>Damaged</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #isDamaged()
-   * @generated
-   * @ordered
-   */
+	 * @see #isDamaged()
+	 * @generated
+	 * @ordered
+	 */
   protected static final int DAMAGED_EFLAG = 1 << 8;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected AudioVisualItemImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.AUDIO_VISUAL_ITEM;
-  }
+		return EXTLibraryPackage.Literals.AUDIO_VISUAL_ITEM;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String getTitle()
   {
-    return title;
-  }
+		return title;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setTitle(String newTitle)
   {
-    String oldTitle = title;
-    title = newTitle;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE, oldTitle, title));
-  }
+		String oldTitle = title;
+		title = newTitle;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE, oldTitle, title));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public int getMinutesLength()
   {
-    return minutesLength;
-  }
+		return minutesLength;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setMinutesLength(int newMinutesLength)
   {
-    int oldMinutesLength = minutesLength;
-    minutesLength = newMinutesLength;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH, oldMinutesLength, minutesLength));
-  }
+		int oldMinutesLength = minutesLength;
+		minutesLength = newMinutesLength;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH, oldMinutesLength, minutesLength));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public boolean isDamaged()
   {
-    return (eFlags & DAMAGED_EFLAG) != 0;
-  }
+		return (eFlags & DAMAGED_EFLAG) != 0;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setDamaged(boolean newDamaged)
   {
-    boolean oldDamaged = (eFlags & DAMAGED_EFLAG) != 0;
-    if (newDamaged) eFlags |= DAMAGED_EFLAG; else eFlags &= ~DAMAGED_EFLAG;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED, oldDamaged, newDamaged));
-  }
+		boolean oldDamaged = (eFlags & DAMAGED_EFLAG) != 0;
+		if (newDamaged) eFlags |= DAMAGED_EFLAG; else eFlags &= ~DAMAGED_EFLAG;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED, oldDamaged, newDamaged));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
-        return getTitle();
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
-        return getMinutesLength();
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
-        return isDamaged();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
+				return getTitle();
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
+				return getMinutesLength();
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
+				return isDamaged();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
-        setTitle((String)newValue);
-        return;
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
-        setMinutesLength((Integer)newValue);
-        return;
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
-        setDamaged((Boolean)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
+				setTitle((String)newValue);
+				return;
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
+				setMinutesLength((Integer)newValue);
+				return;
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
+				setDamaged((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
-        setTitle(TITLE_EDEFAULT);
-        return;
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
-        setMinutesLength(MINUTES_LENGTH_EDEFAULT);
-        return;
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
-        setDamaged(DAMAGED_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
+				setTitle(TITLE_EDEFAULT);
+				return;
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
+				setMinutesLength(MINUTES_LENGTH_EDEFAULT);
+				return;
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
+				setDamaged(DAMAGED_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
-        return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
-        return minutesLength != MINUTES_LENGTH_EDEFAULT;
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
-        return ((eFlags & DAMAGED_EFLAG) != 0) != DAMAGED_EDEFAULT;
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
+				return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
+				return minutesLength != MINUTES_LENGTH_EDEFAULT;
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
+				return ((eFlags & DAMAGED_EFLAG) != 0) != DAMAGED_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String toString()
   {
-    if (eIsProxy()) return super.toString();
+		if (eIsProxy()) return super.toString();
 
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (title: "); //$NON-NLS-1$
-    result.append(title);
-    result.append(", minutesLength: "); //$NON-NLS-1$
-    result.append(minutesLength);
-    result.append(", damaged: "); //$NON-NLS-1$
-    result.append((eFlags & DAMAGED_EFLAG) != 0);
-    result.append(')');
-    return result.toString();
-  }
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (title: "); //$NON-NLS-1$
+		result.append(title);
+		result.append(", minutesLength: "); //$NON-NLS-1$
+		result.append(minutesLength);
+		result.append(", damaged: "); //$NON-NLS-1$
+		result.append((eFlags & DAMAGED_EFLAG) != 0);
+		result.append(')');
+		return result.toString();
+	}
 
 } //AudioVisualItemImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BookImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BookImpl.java
index b686a30..3d66d49 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BookImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BookImpl.java
@@ -38,432 +38,422 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.BookImpl#getTitle <em>Title</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.BookImpl#getPages <em>Pages</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.BookImpl#getCategory <em>Category</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.BookImpl#getAuthor <em>Author</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public class BookImpl extends CirculatingItemImpl implements Book
 {
   /**
-   * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getTitle()
-   * @generated
-   * @ordered
-   */
+	 * @see #getTitle()
+	 * @generated
+	 * @ordered
+	 */
   protected static final String TITLE_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getTitle()
-   * @generated
-   * @ordered
-   */
+	 * @see #getTitle()
+	 * @generated
+	 * @ordered
+	 */
   protected String title = TITLE_EDEFAULT;
 
   /**
-   * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getPages()
-   * @generated
-   * @ordered
-   */
+	 * @see #getPages()
+	 * @generated
+	 * @ordered
+	 */
   protected static final int PAGES_EDEFAULT = 100;
 
   /**
-   * The cached value of the '{@link #getPages() <em>Pages</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getPages() <em>Pages</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getPages()
-   * @generated
-   * @ordered
-   */
+	 * @see #getPages()
+	 * @generated
+	 * @ordered
+	 */
   protected int pages = PAGES_EDEFAULT;
 
   /**
-   * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getCategory()
-   * @generated
-   * @ordered
-   */
+	 * @see #getCategory()
+	 * @generated
+	 * @ordered
+	 */
   protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY_LITERAL;
 
   /**
-   * The cached value of the '{@link #getCategory() <em>Category</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getCategory() <em>Category</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getCategory()
-   * @generated
-   * @ordered
-   */
+	 * @see #getCategory()
+	 * @generated
+	 * @ordered
+	 */
   protected BookCategory category = CATEGORY_EDEFAULT;
 
   /**
-   * The flag representing whether the Category attribute has been set.
-   * <!-- begin-user-doc -->
+	 * The flag representing whether the Category attribute has been set.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   * @ordered
-   */
+	 * @generated
+	 * @ordered
+	 */
   protected static final int CATEGORY_ESETFLAG = 1 << 8;
 
   /**
-   * The cached value of the '{@link #getAuthor() <em>Author</em>}' reference.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getAuthor() <em>Author</em>}' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getAuthor()
-   * @generated
-   * @ordered
-   */
+	 * @see #getAuthor()
+	 * @generated
+	 * @ordered
+	 */
   protected Writer author;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected BookImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.BOOK;
-  }
+		return EXTLibraryPackage.Literals.BOOK;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String getTitle()
   {
-    return title;
-  }
+		return title;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setTitle(String newTitle)
   {
-    String oldTitle = title;
-    title = newTitle;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK__TITLE, oldTitle, title));
-  }
+		String oldTitle = title;
+		title = newTitle;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK__TITLE, oldTitle, title));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public int getPages()
   {
-    return pages;
-  }
+		return pages;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setPages(int newPages)
   {
-    int oldPages = pages;
-    pages = newPages;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK__PAGES, oldPages, pages));
-  }
+		int oldPages = pages;
+		pages = newPages;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK__PAGES, oldPages, pages));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public BookCategory getCategory()
   {
-    return category;
-  }
+		return category;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setCategory(BookCategory newCategory)
   {
-    BookCategory oldCategory = category;
-    category = newCategory == null ? CATEGORY_EDEFAULT : newCategory;
-    boolean oldCategoryESet = (eFlags & CATEGORY_ESETFLAG) != 0;
-    eFlags |= CATEGORY_ESETFLAG;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK__CATEGORY, oldCategory, category, !oldCategoryESet));
-  }
+		BookCategory oldCategory = category;
+		category = newCategory == null ? CATEGORY_EDEFAULT : newCategory;
+		boolean oldCategoryESet = (eFlags & CATEGORY_ESETFLAG) != 0;
+		eFlags |= CATEGORY_ESETFLAG;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK__CATEGORY, oldCategory, category, !oldCategoryESet));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void unsetCategory()
   {
-    BookCategory oldCategory = category;
-    boolean oldCategoryESet = (eFlags & CATEGORY_ESETFLAG) != 0;
-    category = CATEGORY_EDEFAULT;
-    eFlags &= ~CATEGORY_ESETFLAG;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.UNSET, EXTLibraryPackage.BOOK__CATEGORY, oldCategory, CATEGORY_EDEFAULT, oldCategoryESet));
-  }
+		BookCategory oldCategory = category;
+		boolean oldCategoryESet = (eFlags & CATEGORY_ESETFLAG) != 0;
+		category = CATEGORY_EDEFAULT;
+		eFlags &= ~CATEGORY_ESETFLAG;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.UNSET, EXTLibraryPackage.BOOK__CATEGORY, oldCategory, CATEGORY_EDEFAULT, oldCategoryESet));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public boolean isSetCategory()
   {
-    return (eFlags & CATEGORY_ESETFLAG) != 0;
-  }
+		return (eFlags & CATEGORY_ESETFLAG) != 0;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Writer getAuthor()
   {
-    if (author != null && author.eIsProxy())
-    {
-      InternalEObject oldAuthor = (InternalEObject)author;
-      author = (Writer)eResolveProxy(oldAuthor);
-      if (author != oldAuthor)
-      {
-        if (eNotificationRequired())
-          eNotify(new ENotificationImpl(this, Notification.RESOLVE, EXTLibraryPackage.BOOK__AUTHOR, oldAuthor, author));
-      }
-    }
-    return author;
-  }
+		if (author != null && author.eIsProxy()) {
+			InternalEObject oldAuthor = (InternalEObject)author;
+			author = (Writer)eResolveProxy(oldAuthor);
+			if (author != oldAuthor) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EXTLibraryPackage.BOOK__AUTHOR, oldAuthor, author));
+			}
+		}
+		return author;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Writer basicGetAuthor()
   {
-    return author;
-  }
+		return author;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs)
   {
-    Writer oldAuthor = author;
-    author = newAuthor;
-    if (eNotificationRequired())
-    {
-      ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK__AUTHOR, oldAuthor, newAuthor);
-      if (msgs == null) msgs = notification; else msgs.add(notification);
-    }
-    return msgs;
-  }
+		Writer oldAuthor = author;
+		author = newAuthor;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK__AUTHOR, oldAuthor, newAuthor);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setAuthor(Writer newAuthor)
   {
-    if (newAuthor != author)
-    {
-      NotificationChain msgs = null;
-      if (author != null)
-        msgs = ((InternalEObject)author).eInverseRemove(this, EXTLibraryPackage.WRITER__BOOKS, Writer.class, msgs);
-      if (newAuthor != null)
-        msgs = ((InternalEObject)newAuthor).eInverseAdd(this, EXTLibraryPackage.WRITER__BOOKS, Writer.class, msgs);
-      msgs = basicSetAuthor(newAuthor, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK__AUTHOR, newAuthor, newAuthor));
-  }
+		if (newAuthor != author) {
+			NotificationChain msgs = null;
+			if (author != null)
+				msgs = ((InternalEObject)author).eInverseRemove(this, EXTLibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+			if (newAuthor != null)
+				msgs = ((InternalEObject)newAuthor).eInverseAdd(this, EXTLibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+			msgs = basicSetAuthor(newAuthor, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK__AUTHOR, newAuthor, newAuthor));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BOOK__AUTHOR:
-        if (author != null)
-          msgs = ((InternalEObject)author).eInverseRemove(this, EXTLibraryPackage.WRITER__BOOKS, Writer.class, msgs);
-        return basicSetAuthor((Writer)otherEnd, msgs);
-    }
-    return super.eInverseAdd(otherEnd, featureID, msgs);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BOOK__AUTHOR:
+				if (author != null)
+					msgs = ((InternalEObject)author).eInverseRemove(this, EXTLibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+				return basicSetAuthor((Writer)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BOOK__AUTHOR:
-        return basicSetAuthor(null, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BOOK__AUTHOR:
+				return basicSetAuthor(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BOOK__TITLE:
-        return getTitle();
-      case EXTLibraryPackage.BOOK__PAGES:
-        return getPages();
-      case EXTLibraryPackage.BOOK__CATEGORY:
-        return getCategory();
-      case EXTLibraryPackage.BOOK__AUTHOR:
-        if (resolve) return getAuthor();
-        return basicGetAuthor();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BOOK__TITLE:
+				return getTitle();
+			case EXTLibraryPackage.BOOK__PAGES:
+				return getPages();
+			case EXTLibraryPackage.BOOK__CATEGORY:
+				return getCategory();
+			case EXTLibraryPackage.BOOK__AUTHOR:
+				if (resolve) return getAuthor();
+				return basicGetAuthor();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BOOK__TITLE:
-        setTitle((String)newValue);
-        return;
-      case EXTLibraryPackage.BOOK__PAGES:
-        setPages((Integer)newValue);
-        return;
-      case EXTLibraryPackage.BOOK__CATEGORY:
-        setCategory((BookCategory)newValue);
-        return;
-      case EXTLibraryPackage.BOOK__AUTHOR:
-        setAuthor((Writer)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BOOK__TITLE:
+				setTitle((String)newValue);
+				return;
+			case EXTLibraryPackage.BOOK__PAGES:
+				setPages((Integer)newValue);
+				return;
+			case EXTLibraryPackage.BOOK__CATEGORY:
+				setCategory((BookCategory)newValue);
+				return;
+			case EXTLibraryPackage.BOOK__AUTHOR:
+				setAuthor((Writer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BOOK__TITLE:
-        setTitle(TITLE_EDEFAULT);
-        return;
-      case EXTLibraryPackage.BOOK__PAGES:
-        setPages(PAGES_EDEFAULT);
-        return;
-      case EXTLibraryPackage.BOOK__CATEGORY:
-        unsetCategory();
-        return;
-      case EXTLibraryPackage.BOOK__AUTHOR:
-        setAuthor((Writer)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BOOK__TITLE:
+				setTitle(TITLE_EDEFAULT);
+				return;
+			case EXTLibraryPackage.BOOK__PAGES:
+				setPages(PAGES_EDEFAULT);
+				return;
+			case EXTLibraryPackage.BOOK__CATEGORY:
+				unsetCategory();
+				return;
+			case EXTLibraryPackage.BOOK__AUTHOR:
+				setAuthor((Writer)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BOOK__TITLE:
-        return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
-      case EXTLibraryPackage.BOOK__PAGES:
-        return pages != PAGES_EDEFAULT;
-      case EXTLibraryPackage.BOOK__CATEGORY:
-        return isSetCategory();
-      case EXTLibraryPackage.BOOK__AUTHOR:
-        return author != null;
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BOOK__TITLE:
+				return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+			case EXTLibraryPackage.BOOK__PAGES:
+				return pages != PAGES_EDEFAULT;
+			case EXTLibraryPackage.BOOK__CATEGORY:
+				return isSetCategory();
+			case EXTLibraryPackage.BOOK__AUTHOR:
+				return author != null;
+		}
+		return super.eIsSet(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String toString()
   {
-    if (eIsProxy()) return super.toString();
+		if (eIsProxy()) return super.toString();
 
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (title: "); //$NON-NLS-1$
-    result.append(title);
-    result.append(", pages: "); //$NON-NLS-1$
-    result.append(pages);
-    result.append(", category: "); //$NON-NLS-1$
-    if ((eFlags & CATEGORY_ESETFLAG) != 0) result.append(category); else result.append("<unset>"); //$NON-NLS-1$
-    result.append(')');
-    return result.toString();
-  }
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (title: "); //$NON-NLS-1$
+		result.append(title);
+		result.append(", pages: "); //$NON-NLS-1$
+		result.append(pages);
+		result.append(", category: "); //$NON-NLS-1$
+		if ((eFlags & CATEGORY_ESETFLAG) != 0) result.append(category); else result.append("<unset>"); //$NON-NLS-1$
+		result.append(')');
+		return result.toString();
+	}
 
 } //BookImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BookOnTapeImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BookOnTapeImpl.java
index 01323a5..7ab43eb 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BookOnTapeImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BookOnTapeImpl.java
@@ -37,219 +37,211 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.BookOnTapeImpl#getReader <em>Reader</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.BookOnTapeImpl#getAuthor <em>Author</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public class BookOnTapeImpl extends AudioVisualItemImpl implements BookOnTape
 {
   /**
-   * The cached value of the '{@link #getReader() <em>Reader</em>}' reference.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getReader() <em>Reader</em>}' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getReader()
-   * @generated
-   * @ordered
-   */
+	 * @see #getReader()
+	 * @generated
+	 * @ordered
+	 */
   protected Person reader;
 
   /**
-   * The cached value of the '{@link #getAuthor() <em>Author</em>}' reference.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getAuthor() <em>Author</em>}' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getAuthor()
-   * @generated
-   * @ordered
-   */
+	 * @see #getAuthor()
+	 * @generated
+	 * @ordered
+	 */
   protected Writer author;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected BookOnTapeImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.BOOK_ON_TAPE;
-  }
+		return EXTLibraryPackage.Literals.BOOK_ON_TAPE;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Person getReader()
   {
-    if (reader != null && reader.eIsProxy())
-    {
-      InternalEObject oldReader = (InternalEObject)reader;
-      reader = (Person)eResolveProxy(oldReader);
-      if (reader != oldReader)
-      {
-        if (eNotificationRequired())
-          eNotify(new ENotificationImpl(this, Notification.RESOLVE, EXTLibraryPackage.BOOK_ON_TAPE__READER, oldReader, reader));
-      }
-    }
-    return reader;
-  }
+		if (reader != null && reader.eIsProxy()) {
+			InternalEObject oldReader = (InternalEObject)reader;
+			reader = (Person)eResolveProxy(oldReader);
+			if (reader != oldReader) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EXTLibraryPackage.BOOK_ON_TAPE__READER, oldReader, reader));
+			}
+		}
+		return reader;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Person basicGetReader()
   {
-    return reader;
-  }
+		return reader;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setReader(Person newReader)
   {
-    Person oldReader = reader;
-    reader = newReader;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK_ON_TAPE__READER, oldReader, reader));
-  }
+		Person oldReader = reader;
+		reader = newReader;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK_ON_TAPE__READER, oldReader, reader));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Writer getAuthor()
   {
-    if (author != null && author.eIsProxy())
-    {
-      InternalEObject oldAuthor = (InternalEObject)author;
-      author = (Writer)eResolveProxy(oldAuthor);
-      if (author != oldAuthor)
-      {
-        if (eNotificationRequired())
-          eNotify(new ENotificationImpl(this, Notification.RESOLVE, EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR, oldAuthor, author));
-      }
-    }
-    return author;
-  }
+		if (author != null && author.eIsProxy()) {
+			InternalEObject oldAuthor = (InternalEObject)author;
+			author = (Writer)eResolveProxy(oldAuthor);
+			if (author != oldAuthor) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR, oldAuthor, author));
+			}
+		}
+		return author;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Writer basicGetAuthor()
   {
-    return author;
-  }
+		return author;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setAuthor(Writer newAuthor)
   {
-    Writer oldAuthor = author;
-    author = newAuthor;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR, oldAuthor, author));
-  }
+		Writer oldAuthor = author;
+		author = newAuthor;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR, oldAuthor, author));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BOOK_ON_TAPE__READER:
-        if (resolve) return getReader();
-        return basicGetReader();
-      case EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR:
-        if (resolve) return getAuthor();
-        return basicGetAuthor();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BOOK_ON_TAPE__READER:
+				if (resolve) return getReader();
+				return basicGetReader();
+			case EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR:
+				if (resolve) return getAuthor();
+				return basicGetAuthor();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BOOK_ON_TAPE__READER:
-        setReader((Person)newValue);
-        return;
-      case EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR:
-        setAuthor((Writer)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BOOK_ON_TAPE__READER:
+				setReader((Person)newValue);
+				return;
+			case EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR:
+				setAuthor((Writer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BOOK_ON_TAPE__READER:
-        setReader((Person)null);
-        return;
-      case EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR:
-        setAuthor((Writer)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BOOK_ON_TAPE__READER:
+				setReader((Person)null);
+				return;
+			case EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR:
+				setAuthor((Writer)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BOOK_ON_TAPE__READER:
-        return reader != null;
-      case EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR:
-        return author != null;
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BOOK_ON_TAPE__READER:
+				return reader != null;
+			case EXTLibraryPackage.BOOK_ON_TAPE__AUTHOR:
+				return author != null;
+		}
+		return super.eIsSet(featureID);
+	}
 
 } //BookOnTapeImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BorrowerImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BorrowerImpl.java
index 96036eb..eafc40c 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BorrowerImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/BorrowerImpl.java
@@ -41,159 +41,152 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.BorrowerImpl#getBorrowed <em>Borrowed</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public class BorrowerImpl extends PersonImpl implements Borrower
 {
   /**
-   * The cached value of the '{@link #getBorrowed() <em>Borrowed</em>}' reference list.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getBorrowed() <em>Borrowed</em>}' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getBorrowed()
-   * @generated
-   * @ordered
-   */
+	 * @see #getBorrowed()
+	 * @generated
+	 * @ordered
+	 */
   protected EList<Lendable> borrowed;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected BorrowerImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.BORROWER;
-  }
+		return EXTLibraryPackage.Literals.BORROWER;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EList<Lendable> getBorrowed()
   {
-    if (borrowed == null)
-    {
-      borrowed = new EObjectWithInverseResolvingEList.ManyInverse<Lendable>(Lendable.class, this, EXTLibraryPackage.BORROWER__BORROWED, EXTLibraryPackage.LENDABLE__BORROWERS);
-    }
-    return borrowed;
-  }
+		if (borrowed == null) {
+			borrowed = new EObjectWithInverseResolvingEList.ManyInverse<Lendable>(Lendable.class, this, EXTLibraryPackage.BORROWER__BORROWED, EXTLibraryPackage.LENDABLE__BORROWERS);
+		}
+		return borrowed;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @SuppressWarnings("unchecked")
   @Override
   public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BORROWER__BORROWED:
-        return ((InternalEList<InternalEObject>)(InternalEList<?>)getBorrowed()).basicAdd(otherEnd, msgs);
-    }
-    return super.eInverseAdd(otherEnd, featureID, msgs);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BORROWER__BORROWED:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getBorrowed()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BORROWER__BORROWED:
-        return ((InternalEList<?>)getBorrowed()).basicRemove(otherEnd, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BORROWER__BORROWED:
+				return ((InternalEList<?>)getBorrowed()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BORROWER__BORROWED:
-        return getBorrowed();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BORROWER__BORROWED:
+				return getBorrowed();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @SuppressWarnings("unchecked")
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BORROWER__BORROWED:
-        getBorrowed().clear();
-        getBorrowed().addAll((Collection<? extends Lendable>)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BORROWER__BORROWED:
+				getBorrowed().clear();
+				getBorrowed().addAll((Collection<? extends Lendable>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BORROWER__BORROWED:
-        getBorrowed().clear();
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BORROWER__BORROWED:
+				getBorrowed().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.BORROWER__BORROWED:
-        return borrowed != null && !borrowed.isEmpty();
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.BORROWER__BORROWED:
+				return borrowed != null && !borrowed.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
 
 } //BorrowerImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/CirculatingItemImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/CirculatingItemImpl.java
index 8092cc1..b7eb4e0 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/CirculatingItemImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/CirculatingItemImpl.java
@@ -44,270 +44,259 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.CirculatingItemImpl#getCopies <em>Copies</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.CirculatingItemImpl#getBorrowers <em>Borrowers</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public abstract class CirculatingItemImpl extends ItemImpl implements CirculatingItem
 {
   /**
-   * The default value of the '{@link #getCopies() <em>Copies</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getCopies() <em>Copies</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getCopies()
-   * @generated
-   * @ordered
-   */
+	 * @see #getCopies()
+	 * @generated
+	 * @ordered
+	 */
   protected static final int COPIES_EDEFAULT = 0;
 
   /**
-   * The cached value of the '{@link #getCopies() <em>Copies</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getCopies() <em>Copies</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getCopies()
-   * @generated
-   * @ordered
-   */
+	 * @see #getCopies()
+	 * @generated
+	 * @ordered
+	 */
   protected int copies = COPIES_EDEFAULT;
 
   /**
-   * The cached value of the '{@link #getBorrowers() <em>Borrowers</em>}' reference list.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getBorrowers() <em>Borrowers</em>}' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getBorrowers()
-   * @generated
-   * @ordered
-   */
+	 * @see #getBorrowers()
+	 * @generated
+	 * @ordered
+	 */
   protected EList<Borrower> borrowers;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected CirculatingItemImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.CIRCULATING_ITEM;
-  }
+		return EXTLibraryPackage.Literals.CIRCULATING_ITEM;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public int getCopies()
   {
-    return copies;
-  }
+		return copies;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setCopies(int newCopies)
   {
-    int oldCopies = copies;
-    copies = newCopies;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.CIRCULATING_ITEM__COPIES, oldCopies, copies));
-  }
+		int oldCopies = copies;
+		copies = newCopies;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.CIRCULATING_ITEM__COPIES, oldCopies, copies));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EList<Borrower> getBorrowers()
   {
-    if (borrowers == null)
-    {
-      borrowers = new EObjectWithInverseResolvingEList.ManyInverse<Borrower>(Borrower.class, this, EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS, EXTLibraryPackage.BORROWER__BORROWED);
-    }
-    return borrowers;
-  }
+		if (borrowers == null) {
+			borrowers = new EObjectWithInverseResolvingEList.ManyInverse<Borrower>(Borrower.class, this, EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS, EXTLibraryPackage.BORROWER__BORROWED);
+		}
+		return borrowers;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @SuppressWarnings("unchecked")
   @Override
   public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
-        return ((InternalEList<InternalEObject>)(InternalEList<?>)getBorrowers()).basicAdd(otherEnd, msgs);
-    }
-    return super.eInverseAdd(otherEnd, featureID, msgs);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getBorrowers()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
-        return ((InternalEList<?>)getBorrowers()).basicRemove(otherEnd, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
+				return ((InternalEList<?>)getBorrowers()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.CIRCULATING_ITEM__COPIES:
-        return getCopies();
-      case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
-        return getBorrowers();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.CIRCULATING_ITEM__COPIES:
+				return getCopies();
+			case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
+				return getBorrowers();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @SuppressWarnings("unchecked")
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.CIRCULATING_ITEM__COPIES:
-        setCopies((Integer)newValue);
-        return;
-      case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
-        getBorrowers().clear();
-        getBorrowers().addAll((Collection<? extends Borrower>)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.CIRCULATING_ITEM__COPIES:
+				setCopies((Integer)newValue);
+				return;
+			case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
+				getBorrowers().clear();
+				getBorrowers().addAll((Collection<? extends Borrower>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.CIRCULATING_ITEM__COPIES:
-        setCopies(COPIES_EDEFAULT);
-        return;
-      case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
-        getBorrowers().clear();
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.CIRCULATING_ITEM__COPIES:
+				setCopies(COPIES_EDEFAULT);
+				return;
+			case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
+				getBorrowers().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.CIRCULATING_ITEM__COPIES:
-        return copies != COPIES_EDEFAULT;
-      case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
-        return borrowers != null && !borrowers.isEmpty();
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.CIRCULATING_ITEM__COPIES:
+				return copies != COPIES_EDEFAULT;
+			case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS:
+				return borrowers != null && !borrowers.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)
   {
-    if (baseClass == Lendable.class)
-    {
-      switch (derivedFeatureID)
-      {
-        case EXTLibraryPackage.CIRCULATING_ITEM__COPIES: return EXTLibraryPackage.LENDABLE__COPIES;
-        case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS: return EXTLibraryPackage.LENDABLE__BORROWERS;
-        default: return -1;
-      }
-    }
-    return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
-  }
+		if (baseClass == Lendable.class) {
+			switch (derivedFeatureID) {
+				case EXTLibraryPackage.CIRCULATING_ITEM__COPIES: return EXTLibraryPackage.LENDABLE__COPIES;
+				case EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS: return EXTLibraryPackage.LENDABLE__BORROWERS;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)
   {
-    if (baseClass == Lendable.class)
-    {
-      switch (baseFeatureID)
-      {
-        case EXTLibraryPackage.LENDABLE__COPIES: return EXTLibraryPackage.CIRCULATING_ITEM__COPIES;
-        case EXTLibraryPackage.LENDABLE__BORROWERS: return EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS;
-        default: return -1;
-      }
-    }
-    return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
-  }
+		if (baseClass == Lendable.class) {
+			switch (baseFeatureID) {
+				case EXTLibraryPackage.LENDABLE__COPIES: return EXTLibraryPackage.CIRCULATING_ITEM__COPIES;
+				case EXTLibraryPackage.LENDABLE__BORROWERS: return EXTLibraryPackage.CIRCULATING_ITEM__BORROWERS;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String toString()
   {
-    if (eIsProxy()) return super.toString();
+		if (eIsProxy()) return super.toString();
 
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (copies: "); //$NON-NLS-1$
-    result.append(copies);
-    result.append(')');
-    return result.toString();
-  }
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (copies: "); //$NON-NLS-1$
+		result.append(copies);
+		result.append(')');
+		return result.toString();
+	}
 
 } //CirculatingItemImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EXTLibraryFactoryImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EXTLibraryFactoryImpl.java
index c0888fc..e4f7a53 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EXTLibraryFactoryImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EXTLibraryFactoryImpl.java
@@ -40,226 +40,220 @@
 public class EXTLibraryFactoryImpl extends EFactoryImpl implements EXTLibraryFactory
 {
   /**
-   * Creates the default factory implementation.
-   * <!-- begin-user-doc -->
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public static EXTLibraryFactory init()
   {
-    try
-    {
-      EXTLibraryFactory theEXTLibraryFactory = (EXTLibraryFactory)EPackage.Registry.INSTANCE.getEFactory("http:///org/eclipse/emf/parsley/examples/library/extlibrary.ecore/0.1.0"); //$NON-NLS-1$ 
-      if (theEXTLibraryFactory != null)
-      {
-        return theEXTLibraryFactory;
-      }
-    }
-    catch (Exception exception)
-    {
-      EcorePlugin.INSTANCE.log(exception);
-    }
-    return new EXTLibraryFactoryImpl();
-  }
+		try {
+			EXTLibraryFactory theEXTLibraryFactory = (EXTLibraryFactory)EPackage.Registry.INSTANCE.getEFactory(EXTLibraryPackage.eNS_URI);
+			if (theEXTLibraryFactory != null) {
+				return theEXTLibraryFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new EXTLibraryFactoryImpl();
+	}
 
   /**
-   * Creates an instance of the factory.
-   * <!-- begin-user-doc -->
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EXTLibraryFactoryImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public EObject create(EClass eClass)
   {
-    switch (eClass.getClassifierID())
-    {
-      case EXTLibraryPackage.BOOK: return createBook();
-      case EXTLibraryPackage.LIBRARY: return createLibrary();
-      case EXTLibraryPackage.WRITER: return createWriter();
-      case EXTLibraryPackage.BOOK_ON_TAPE: return createBookOnTape();
-      case EXTLibraryPackage.VIDEO_CASSETTE: return createVideoCassette();
-      case EXTLibraryPackage.BORROWER: return createBorrower();
-      case EXTLibraryPackage.PERSON: return createPerson();
-      case EXTLibraryPackage.EMPLOYEE: return createEmployee();
-      default:
-        throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-  }
+		switch (eClass.getClassifierID()) {
+			case EXTLibraryPackage.BOOK: return createBook();
+			case EXTLibraryPackage.LIBRARY: return createLibrary();
+			case EXTLibraryPackage.WRITER: return createWriter();
+			case EXTLibraryPackage.BOOK_ON_TAPE: return createBookOnTape();
+			case EXTLibraryPackage.VIDEO_CASSETTE: return createVideoCassette();
+			case EXTLibraryPackage.BORROWER: return createBorrower();
+			case EXTLibraryPackage.PERSON: return createPerson();
+			case EXTLibraryPackage.EMPLOYEE: return createEmployee();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object createFromString(EDataType eDataType, String initialValue)
   {
-    switch (eDataType.getClassifierID())
-    {
-      case EXTLibraryPackage.BOOK_CATEGORY:
-        return createBookCategoryFromString(eDataType, initialValue);
-      default:
-        throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-  }
+		switch (eDataType.getClassifierID()) {
+			case EXTLibraryPackage.BOOK_CATEGORY:
+				return createBookCategoryFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String convertToString(EDataType eDataType, Object instanceValue)
   {
-    switch (eDataType.getClassifierID())
-    {
-      case EXTLibraryPackage.BOOK_CATEGORY:
-        return convertBookCategoryToString(eDataType, instanceValue);
-      default:
-        throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-  }
+		switch (eDataType.getClassifierID()) {
+			case EXTLibraryPackage.BOOK_CATEGORY:
+				return convertBookCategoryToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Book createBook()
   {
-    BookImpl book = new BookImpl();
-    return book;
-  }
+		BookImpl book = new BookImpl();
+		return book;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Library createLibrary()
   {
-    LibraryImpl library = new LibraryImpl();
-    return library;
-  }
+		LibraryImpl library = new LibraryImpl();
+		return library;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Writer createWriter()
   {
-    WriterImpl writer = new WriterImpl();
-    return writer;
-  }
+		WriterImpl writer = new WriterImpl();
+		return writer;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public BookOnTape createBookOnTape()
   {
-    BookOnTapeImpl bookOnTape = new BookOnTapeImpl();
-    return bookOnTape;
-  }
+		BookOnTapeImpl bookOnTape = new BookOnTapeImpl();
+		return bookOnTape;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public VideoCassette createVideoCassette()
   {
-    VideoCassetteImpl videoCassette = new VideoCassetteImpl();
-    return videoCassette;
-  }
+		VideoCassetteImpl videoCassette = new VideoCassetteImpl();
+		return videoCassette;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Borrower createBorrower()
   {
-    BorrowerImpl borrower = new BorrowerImpl();
-    return borrower;
-  }
+		BorrowerImpl borrower = new BorrowerImpl();
+		return borrower;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Person createPerson()
   {
-    PersonImpl person = new PersonImpl();
-    return person;
-  }
+		PersonImpl person = new PersonImpl();
+		return person;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Employee createEmployee()
   {
-    EmployeeImpl employee = new EmployeeImpl();
-    return employee;
-  }
+		EmployeeImpl employee = new EmployeeImpl();
+		return employee;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public BookCategory createBookCategoryFromString(EDataType eDataType, String initialValue)
   {
-    BookCategory result = BookCategory.get(initialValue);
-    if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-    return result;
-  }
+		BookCategory result = BookCategory.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		return result;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String convertBookCategoryToString(EDataType eDataType, Object instanceValue)
   {
-    return instanceValue == null ? null : instanceValue.toString();
-  }
+		return instanceValue == null ? null : instanceValue.toString();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EXTLibraryPackage getEXTLibraryPackage()
   {
-    return (EXTLibraryPackage)getEPackage();
-  }
+		return (EXTLibraryPackage)getEPackage();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @deprecated
-   * @generated
-   */
+	 * @deprecated
+	 * @generated
+	 */
   @Deprecated
   public static EXTLibraryPackage getPackage()
   {
-    return EXTLibraryPackage.eINSTANCE;
-  }
+		return EXTLibraryPackage.eINSTANCE;
+	}
 
 } //EXTLibraryFactoryImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EXTLibraryPackageImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EXTLibraryPackageImpl.java
index e38d1f1..bb755cf 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EXTLibraryPackageImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EXTLibraryPackageImpl.java
@@ -54,879 +54,875 @@
 public class EXTLibraryPackageImpl extends EPackageImpl implements EXTLibraryPackage
 {
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass bookEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass libraryEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass writerEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass itemEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass lendableEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass circulatingItemEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass periodicalEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass audioVisualItemEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass bookOnTapeEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass videoCassetteEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass borrowerEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass personEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass employeeEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EClass addressableEClass = null;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private EEnum bookCategoryEEnum = null;
 
   /**
-   * Creates an instance of the model <b>Package</b>, registered with
-   * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-   * package URI value.
-   * <p>Note: the correct way to create the package is via the static
-   * factory method {@link #init init()}, which also performs
-   * initialization of the package, or returns the registered package,
-   * if one already exists.
-   * <!-- begin-user-doc -->
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see org.eclipse.emf.ecore.EPackage.Registry
-   * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#eNS_URI
-   * @see #init()
-   * @generated
-   */
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
   private EXTLibraryPackageImpl()
   {
-    super(eNS_URI, EXTLibraryFactory.eINSTANCE);
-  }
+		super(eNS_URI, EXTLibraryFactory.eINSTANCE);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private static boolean isInited = false;
 
   /**
-   * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
-   * 
-   * <p>This method is used to initialize {@link EXTLibraryPackage#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 -->
+	 * 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 EXTLibraryPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #eNS_URI
-   * @see #createPackageContents()
-   * @see #initializePackageContents()
-   * @generated
-   */
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
   public static EXTLibraryPackage init()
   {
-    if (isInited) return (EXTLibraryPackage)EPackage.Registry.INSTANCE.getEPackage(EXTLibraryPackage.eNS_URI);
+		if (isInited) return (EXTLibraryPackage)EPackage.Registry.INSTANCE.getEPackage(EXTLibraryPackage.eNS_URI);
 
-    // Obtain or create and register package
-    EXTLibraryPackageImpl theEXTLibraryPackage = (EXTLibraryPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EXTLibraryPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EXTLibraryPackageImpl());
+		// Obtain or create and register package
+		EXTLibraryPackageImpl theEXTLibraryPackage = (EXTLibraryPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EXTLibraryPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EXTLibraryPackageImpl());
 
-    isInited = true;
+		isInited = true;
 
-    // Create package meta-data objects
-    theEXTLibraryPackage.createPackageContents();
+		// Create package meta-data objects
+		theEXTLibraryPackage.createPackageContents();
 
-    // Initialize created meta-data
-    theEXTLibraryPackage.initializePackageContents();
+		// Initialize created meta-data
+		theEXTLibraryPackage.initializePackageContents();
 
-    // Mark meta-data to indicate it can't be changed
-    theEXTLibraryPackage.freeze();
+		// Mark meta-data to indicate it can't be changed
+		theEXTLibraryPackage.freeze();
 
   
-    // Update the registry and return the package
-    EPackage.Registry.INSTANCE.put(EXTLibraryPackage.eNS_URI, theEXTLibraryPackage);
-    return theEXTLibraryPackage;
-  }
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(EXTLibraryPackage.eNS_URI, theEXTLibraryPackage);
+		return theEXTLibraryPackage;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getBook()
   {
-    return bookEClass;
-  }
+		return bookEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getBook_Title()
   {
-    return (EAttribute)bookEClass.getEStructuralFeatures().get(0);
-  }
+		return (EAttribute)bookEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getBook_Pages()
   {
-    return (EAttribute)bookEClass.getEStructuralFeatures().get(1);
-  }
+		return (EAttribute)bookEClass.getEStructuralFeatures().get(1);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getBook_Category()
   {
-    return (EAttribute)bookEClass.getEStructuralFeatures().get(2);
-  }
+		return (EAttribute)bookEClass.getEStructuralFeatures().get(2);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getBook_Author()
   {
-    return (EReference)bookEClass.getEStructuralFeatures().get(3);
-  }
+		return (EReference)bookEClass.getEStructuralFeatures().get(3);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getLibrary()
   {
-    return libraryEClass;
-  }
+		return libraryEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getLibrary_Name()
   {
-    return (EAttribute)libraryEClass.getEStructuralFeatures().get(0);
-  }
+		return (EAttribute)libraryEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getLibrary_Writers()
   {
-    return (EReference)libraryEClass.getEStructuralFeatures().get(1);
-  }
+		return (EReference)libraryEClass.getEStructuralFeatures().get(1);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getLibrary_Employees()
   {
-    return (EReference)libraryEClass.getEStructuralFeatures().get(2);
-  }
+		return (EReference)libraryEClass.getEStructuralFeatures().get(2);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getLibrary_Borrowers()
   {
-    return (EReference)libraryEClass.getEStructuralFeatures().get(3);
-  }
+		return (EReference)libraryEClass.getEStructuralFeatures().get(3);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getLibrary_Stock()
   {
-    return (EReference)libraryEClass.getEStructuralFeatures().get(4);
-  }
+		return (EReference)libraryEClass.getEStructuralFeatures().get(4);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getLibrary_Books()
   {
-    return (EReference)libraryEClass.getEStructuralFeatures().get(5);
-  }
+		return (EReference)libraryEClass.getEStructuralFeatures().get(5);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getLibrary_Branches()
   {
-    return (EReference)libraryEClass.getEStructuralFeatures().get(6);
-  }
+		return (EReference)libraryEClass.getEStructuralFeatures().get(6);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getLibrary_ParentBranch()
   {
-    return (EReference)libraryEClass.getEStructuralFeatures().get(7);
-  }
+		return (EReference)libraryEClass.getEStructuralFeatures().get(7);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getLibrary_People()
   {
-    return (EAttribute)libraryEClass.getEStructuralFeatures().get(8);
-  }
+		return (EAttribute)libraryEClass.getEStructuralFeatures().get(8);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getWriter()
   {
-    return writerEClass;
-  }
+		return writerEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getWriter_Name()
   {
-    return (EAttribute)writerEClass.getEStructuralFeatures().get(0);
-  }
+		return (EAttribute)writerEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getWriter_Books()
   {
-    return (EReference)writerEClass.getEStructuralFeatures().get(1);
-  }
+		return (EReference)writerEClass.getEStructuralFeatures().get(1);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getItem()
   {
-    return itemEClass;
-  }
+		return itemEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getItem_PublicationDate()
   {
-    return (EAttribute)itemEClass.getEStructuralFeatures().get(0);
-  }
+		return (EAttribute)itemEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getLendable()
   {
-    return lendableEClass;
-  }
+		return lendableEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getLendable_Copies()
   {
-    return (EAttribute)lendableEClass.getEStructuralFeatures().get(0);
-  }
+		return (EAttribute)lendableEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getLendable_Borrowers()
   {
-    return (EReference)lendableEClass.getEStructuralFeatures().get(1);
-  }
+		return (EReference)lendableEClass.getEStructuralFeatures().get(1);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getCirculatingItem()
   {
-    return circulatingItemEClass;
-  }
+		return circulatingItemEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getPeriodical()
   {
-    return periodicalEClass;
-  }
+		return periodicalEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getPeriodical_Title()
   {
-    return (EAttribute)periodicalEClass.getEStructuralFeatures().get(0);
-  }
+		return (EAttribute)periodicalEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getPeriodical_IssuesPerYear()
   {
-    return (EAttribute)periodicalEClass.getEStructuralFeatures().get(1);
-  }
+		return (EAttribute)periodicalEClass.getEStructuralFeatures().get(1);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getAudioVisualItem()
   {
-    return audioVisualItemEClass;
-  }
+		return audioVisualItemEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getAudioVisualItem_Title()
   {
-    return (EAttribute)audioVisualItemEClass.getEStructuralFeatures().get(0);
-  }
+		return (EAttribute)audioVisualItemEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getAudioVisualItem_MinutesLength()
   {
-    return (EAttribute)audioVisualItemEClass.getEStructuralFeatures().get(1);
-  }
+		return (EAttribute)audioVisualItemEClass.getEStructuralFeatures().get(1);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getAudioVisualItem_Damaged()
   {
-    return (EAttribute)audioVisualItemEClass.getEStructuralFeatures().get(2);
-  }
+		return (EAttribute)audioVisualItemEClass.getEStructuralFeatures().get(2);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getBookOnTape()
   {
-    return bookOnTapeEClass;
-  }
+		return bookOnTapeEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getBookOnTape_Reader()
   {
-    return (EReference)bookOnTapeEClass.getEStructuralFeatures().get(0);
-  }
+		return (EReference)bookOnTapeEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getBookOnTape_Author()
   {
-    return (EReference)bookOnTapeEClass.getEStructuralFeatures().get(1);
-  }
+		return (EReference)bookOnTapeEClass.getEStructuralFeatures().get(1);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getVideoCassette()
   {
-    return videoCassetteEClass;
-  }
+		return videoCassetteEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getVideoCassette_Cast()
   {
-    return (EReference)videoCassetteEClass.getEStructuralFeatures().get(0);
-  }
+		return (EReference)videoCassetteEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getBorrower()
   {
-    return borrowerEClass;
-  }
+		return borrowerEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getBorrower_Borrowed()
   {
-    return (EReference)borrowerEClass.getEStructuralFeatures().get(0);
-  }
+		return (EReference)borrowerEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getPerson()
   {
-    return personEClass;
-  }
+		return personEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getPerson_FirstName()
   {
-    return (EAttribute)personEClass.getEStructuralFeatures().get(0);
-  }
+		return (EAttribute)personEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getPerson_LastName()
   {
-    return (EAttribute)personEClass.getEStructuralFeatures().get(1);
-  }
+		return (EAttribute)personEClass.getEStructuralFeatures().get(1);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getEmployee()
   {
-    return employeeEClass;
-  }
+		return employeeEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EReference getEmployee_Manager()
   {
-    return (EReference)employeeEClass.getEStructuralFeatures().get(0);
-  }
+		return (EReference)employeeEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EClass getAddressable()
   {
-    return addressableEClass;
-  }
+		return addressableEClass;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EAttribute getAddressable_Address()
   {
-    return (EAttribute)addressableEClass.getEStructuralFeatures().get(0);
-  }
+		return (EAttribute)addressableEClass.getEStructuralFeatures().get(0);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EEnum getBookCategory()
   {
-    return bookCategoryEEnum;
-  }
+		return bookCategoryEEnum;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EXTLibraryFactory getEXTLibraryFactory()
   {
-    return (EXTLibraryFactory)getEFactoryInstance();
-  }
+		return (EXTLibraryFactory)getEFactoryInstance();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private boolean isCreated = false;
 
   /**
-   * Creates the meta-model objects for the package.  This method is
-   * guarded to have no affect on any invocation but its first.
-   * <!-- begin-user-doc -->
+	 * Creates the meta-model objects for the package.  This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void createPackageContents()
   {
-    if (isCreated) return;
-    isCreated = true;
+		if (isCreated) return;
+		isCreated = true;
 
-    // Create classes and their features
-    bookEClass = createEClass(BOOK);
-    createEAttribute(bookEClass, BOOK__TITLE);
-    createEAttribute(bookEClass, BOOK__PAGES);
-    createEAttribute(bookEClass, BOOK__CATEGORY);
-    createEReference(bookEClass, BOOK__AUTHOR);
+		// Create classes and their features
+		bookEClass = createEClass(BOOK);
+		createEAttribute(bookEClass, BOOK__TITLE);
+		createEAttribute(bookEClass, BOOK__PAGES);
+		createEAttribute(bookEClass, BOOK__CATEGORY);
+		createEReference(bookEClass, BOOK__AUTHOR);
 
-    libraryEClass = createEClass(LIBRARY);
-    createEAttribute(libraryEClass, LIBRARY__NAME);
-    createEReference(libraryEClass, LIBRARY__WRITERS);
-    createEReference(libraryEClass, LIBRARY__EMPLOYEES);
-    createEReference(libraryEClass, LIBRARY__BORROWERS);
-    createEReference(libraryEClass, LIBRARY__STOCK);
-    createEReference(libraryEClass, LIBRARY__BOOKS);
-    createEReference(libraryEClass, LIBRARY__BRANCHES);
-    createEReference(libraryEClass, LIBRARY__PARENT_BRANCH);
-    createEAttribute(libraryEClass, LIBRARY__PEOPLE);
+		libraryEClass = createEClass(LIBRARY);
+		createEAttribute(libraryEClass, LIBRARY__NAME);
+		createEReference(libraryEClass, LIBRARY__WRITERS);
+		createEReference(libraryEClass, LIBRARY__EMPLOYEES);
+		createEReference(libraryEClass, LIBRARY__BORROWERS);
+		createEReference(libraryEClass, LIBRARY__STOCK);
+		createEReference(libraryEClass, LIBRARY__BOOKS);
+		createEReference(libraryEClass, LIBRARY__BRANCHES);
+		createEReference(libraryEClass, LIBRARY__PARENT_BRANCH);
+		createEAttribute(libraryEClass, LIBRARY__PEOPLE);
 
-    writerEClass = createEClass(WRITER);
-    createEAttribute(writerEClass, WRITER__NAME);
-    createEReference(writerEClass, WRITER__BOOKS);
+		writerEClass = createEClass(WRITER);
+		createEAttribute(writerEClass, WRITER__NAME);
+		createEReference(writerEClass, WRITER__BOOKS);
 
-    itemEClass = createEClass(ITEM);
-    createEAttribute(itemEClass, ITEM__PUBLICATION_DATE);
+		itemEClass = createEClass(ITEM);
+		createEAttribute(itemEClass, ITEM__PUBLICATION_DATE);
 
-    lendableEClass = createEClass(LENDABLE);
-    createEAttribute(lendableEClass, LENDABLE__COPIES);
-    createEReference(lendableEClass, LENDABLE__BORROWERS);
+		lendableEClass = createEClass(LENDABLE);
+		createEAttribute(lendableEClass, LENDABLE__COPIES);
+		createEReference(lendableEClass, LENDABLE__BORROWERS);
 
-    circulatingItemEClass = createEClass(CIRCULATING_ITEM);
+		circulatingItemEClass = createEClass(CIRCULATING_ITEM);
 
-    periodicalEClass = createEClass(PERIODICAL);
-    createEAttribute(periodicalEClass, PERIODICAL__TITLE);
-    createEAttribute(periodicalEClass, PERIODICAL__ISSUES_PER_YEAR);
+		periodicalEClass = createEClass(PERIODICAL);
+		createEAttribute(periodicalEClass, PERIODICAL__TITLE);
+		createEAttribute(periodicalEClass, PERIODICAL__ISSUES_PER_YEAR);
 
-    audioVisualItemEClass = createEClass(AUDIO_VISUAL_ITEM);
-    createEAttribute(audioVisualItemEClass, AUDIO_VISUAL_ITEM__TITLE);
-    createEAttribute(audioVisualItemEClass, AUDIO_VISUAL_ITEM__MINUTES_LENGTH);
-    createEAttribute(audioVisualItemEClass, AUDIO_VISUAL_ITEM__DAMAGED);
+		audioVisualItemEClass = createEClass(AUDIO_VISUAL_ITEM);
+		createEAttribute(audioVisualItemEClass, AUDIO_VISUAL_ITEM__TITLE);
+		createEAttribute(audioVisualItemEClass, AUDIO_VISUAL_ITEM__MINUTES_LENGTH);
+		createEAttribute(audioVisualItemEClass, AUDIO_VISUAL_ITEM__DAMAGED);
 
-    bookOnTapeEClass = createEClass(BOOK_ON_TAPE);
-    createEReference(bookOnTapeEClass, BOOK_ON_TAPE__READER);
-    createEReference(bookOnTapeEClass, BOOK_ON_TAPE__AUTHOR);
+		bookOnTapeEClass = createEClass(BOOK_ON_TAPE);
+		createEReference(bookOnTapeEClass, BOOK_ON_TAPE__READER);
+		createEReference(bookOnTapeEClass, BOOK_ON_TAPE__AUTHOR);
 
-    videoCassetteEClass = createEClass(VIDEO_CASSETTE);
-    createEReference(videoCassetteEClass, VIDEO_CASSETTE__CAST);
+		videoCassetteEClass = createEClass(VIDEO_CASSETTE);
+		createEReference(videoCassetteEClass, VIDEO_CASSETTE__CAST);
 
-    borrowerEClass = createEClass(BORROWER);
-    createEReference(borrowerEClass, BORROWER__BORROWED);
+		borrowerEClass = createEClass(BORROWER);
+		createEReference(borrowerEClass, BORROWER__BORROWED);
 
-    personEClass = createEClass(PERSON);
-    createEAttribute(personEClass, PERSON__FIRST_NAME);
-    createEAttribute(personEClass, PERSON__LAST_NAME);
+		personEClass = createEClass(PERSON);
+		createEAttribute(personEClass, PERSON__FIRST_NAME);
+		createEAttribute(personEClass, PERSON__LAST_NAME);
 
-    employeeEClass = createEClass(EMPLOYEE);
-    createEReference(employeeEClass, EMPLOYEE__MANAGER);
+		employeeEClass = createEClass(EMPLOYEE);
+		createEReference(employeeEClass, EMPLOYEE__MANAGER);
 
-    addressableEClass = createEClass(ADDRESSABLE);
-    createEAttribute(addressableEClass, ADDRESSABLE__ADDRESS);
+		addressableEClass = createEClass(ADDRESSABLE);
+		createEAttribute(addressableEClass, ADDRESSABLE__ADDRESS);
 
-    // Create enums
-    bookCategoryEEnum = createEEnum(BOOK_CATEGORY);
-  }
+		// Create enums
+		bookCategoryEEnum = createEEnum(BOOK_CATEGORY);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   private boolean isInitialized = false;
 
   /**
-   * Complete the initialization of the package and its meta-model.  This
-   * method is guarded to have no affect on any invocation but its first.
-   * <!-- begin-user-doc -->
+	 * Complete the initialization of the package and its meta-model.  This
+	 * method is guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void initializePackageContents()
   {
-    if (isInitialized) return;
-    isInitialized = true;
+		if (isInitialized) return;
+		isInitialized = true;
 
-    // Initialize package
-    setName(eNAME);
-    setNsPrefix(eNS_PREFIX);
-    setNsURI(eNS_URI);
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
 
-    // Create type parameters
+		// Create type parameters
 
-    // Set bounds for type parameters
+		// Set bounds for type parameters
 
-    // Add supertypes to classes
-    bookEClass.getESuperTypes().add(this.getCirculatingItem());
-    libraryEClass.getESuperTypes().add(this.getAddressable());
-    writerEClass.getESuperTypes().add(this.getPerson());
-    circulatingItemEClass.getESuperTypes().add(this.getItem());
-    circulatingItemEClass.getESuperTypes().add(this.getLendable());
-    periodicalEClass.getESuperTypes().add(this.getItem());
-    audioVisualItemEClass.getESuperTypes().add(this.getCirculatingItem());
-    bookOnTapeEClass.getESuperTypes().add(this.getAudioVisualItem());
-    videoCassetteEClass.getESuperTypes().add(this.getAudioVisualItem());
-    borrowerEClass.getESuperTypes().add(this.getPerson());
-    personEClass.getESuperTypes().add(this.getAddressable());
-    employeeEClass.getESuperTypes().add(this.getPerson());
+		// Add supertypes to classes
+		bookEClass.getESuperTypes().add(this.getCirculatingItem());
+		libraryEClass.getESuperTypes().add(this.getAddressable());
+		writerEClass.getESuperTypes().add(this.getPerson());
+		circulatingItemEClass.getESuperTypes().add(this.getItem());
+		circulatingItemEClass.getESuperTypes().add(this.getLendable());
+		periodicalEClass.getESuperTypes().add(this.getItem());
+		audioVisualItemEClass.getESuperTypes().add(this.getCirculatingItem());
+		bookOnTapeEClass.getESuperTypes().add(this.getAudioVisualItem());
+		videoCassetteEClass.getESuperTypes().add(this.getAudioVisualItem());
+		borrowerEClass.getESuperTypes().add(this.getPerson());
+		personEClass.getESuperTypes().add(this.getAddressable());
+		employeeEClass.getESuperTypes().add(this.getPerson());
 
-    // Initialize classes and features; add operations and parameters
-    initEClass(bookEClass, Book.class, "Book", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEAttribute(getBook_Title(), ecorePackage.getEString(), "title", null, 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEAttribute(getBook_Pages(), ecorePackage.getEInt(), "pages", "100", 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
-    initEAttribute(getBook_Category(), this.getBookCategory(), "category", null, 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEReference(getBook_Author(), this.getWriter(), this.getWriter_Books(), "author", null, 1, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		// Initialize classes and features; add operations and parameters
+		initEClass(bookEClass, Book.class, "Book", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getBook_Title(), ecorePackage.getEString(), "title", null, 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getBook_Pages(), ecorePackage.getEInt(), "pages", "100", 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+		initEAttribute(getBook_Category(), this.getBookCategory(), "category", null, 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getBook_Author(), this.getWriter(), this.getWriter_Books(), "author", null, 1, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(libraryEClass, Library.class, "Library", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEAttribute(getLibrary_Name(), ecorePackage.getEString(), "name", null, 0, 1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEReference(getLibrary_Writers(), this.getWriter(), null, "writers", null, 0, -1, Library.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEReference(getLibrary_Employees(), this.getEmployee(), null, "employees", null, 0, -1, Library.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEReference(getLibrary_Borrowers(), this.getBorrower(), null, "borrowers", null, 0, -1, Library.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEReference(getLibrary_Stock(), this.getItem(), null, "stock", null, 0, -1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-    initEReference(getLibrary_Books(), this.getBook(), null, "books", null, 0, -1, Library.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
-    initEReference(getLibrary_Branches(), this.getLibrary(), this.getLibrary_ParentBranch(), "branches", null, 0, -1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEReference(getLibrary_ParentBranch(), this.getLibrary(), this.getLibrary_Branches(), "parentBranch", null, 0, 1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEAttribute(getLibrary_People(), ecorePackage.getEFeatureMapEntry(), "people", null, 0, -1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(libraryEClass, Library.class, "Library", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getLibrary_Name(), ecorePackage.getEString(), "name", null, 0, 1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getLibrary_Writers(), this.getWriter(), null, "writers", null, 0, -1, Library.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getLibrary_Employees(), this.getEmployee(), null, "employees", null, 0, -1, Library.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getLibrary_Borrowers(), this.getBorrower(), null, "borrowers", null, 0, -1, Library.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getLibrary_Stock(), this.getItem(), null, "stock", null, 0, -1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getLibrary_Books(), this.getBook(), null, "books", null, 0, -1, Library.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEReference(getLibrary_Branches(), this.getLibrary(), this.getLibrary_ParentBranch(), "branches", null, 0, -1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getLibrary_ParentBranch(), this.getLibrary(), this.getLibrary_Branches(), "parentBranch", null, 0, 1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getLibrary_People(), ecorePackage.getEFeatureMapEntry(), "people", null, 0, -1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(writerEClass, Writer.class, "Writer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEAttribute(getWriter_Name(), ecorePackage.getEString(), "name", null, 0, 1, Writer.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEReference(getWriter_Books(), this.getBook(), this.getBook_Author(), "books", null, 0, -1, Writer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(writerEClass, Writer.class, "Writer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getWriter_Name(), ecorePackage.getEString(), "name", null, 0, 1, Writer.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getWriter_Books(), this.getBook(), this.getBook_Author(), "books", null, 0, -1, Writer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(itemEClass, Item.class, "Item", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEAttribute(getItem_PublicationDate(), ecorePackage.getEDate(), "publicationDate", null, 0, 1, Item.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(itemEClass, Item.class, "Item", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getItem_PublicationDate(), ecorePackage.getEDate(), "publicationDate", null, 0, 1, Item.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(lendableEClass, Lendable.class, "Lendable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEAttribute(getLendable_Copies(), ecorePackage.getEInt(), "copies", null, 1, 1, Lendable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEReference(getLendable_Borrowers(), this.getBorrower(), this.getBorrower_Borrowed(), "borrowers", null, 0, -1, Lendable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+		initEClass(lendableEClass, Lendable.class, "Lendable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getLendable_Copies(), ecorePackage.getEInt(), "copies", null, 1, 1, Lendable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getLendable_Borrowers(), this.getBorrower(), this.getBorrower_Borrowed(), "borrowers", null, 0, -1, Lendable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(circulatingItemEClass, CirculatingItem.class, "CirculatingItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEClass(circulatingItemEClass, CirculatingItem.class, "CirculatingItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
 
-    initEClass(periodicalEClass, Periodical.class, "Periodical", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEAttribute(getPeriodical_Title(), ecorePackage.getEString(), "title", null, 0, 1, Periodical.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEAttribute(getPeriodical_IssuesPerYear(), ecorePackage.getEInt(), "issuesPerYear", null, 1, 1, Periodical.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(periodicalEClass, Periodical.class, "Periodical", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getPeriodical_Title(), ecorePackage.getEString(), "title", null, 0, 1, Periodical.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getPeriodical_IssuesPerYear(), ecorePackage.getEInt(), "issuesPerYear", null, 1, 1, Periodical.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(audioVisualItemEClass, AudioVisualItem.class, "AudioVisualItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEAttribute(getAudioVisualItem_Title(), ecorePackage.getEString(), "title", null, 0, 1, AudioVisualItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEAttribute(getAudioVisualItem_MinutesLength(), ecorePackage.getEInt(), "minutesLength", null, 1, 1, AudioVisualItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEAttribute(getAudioVisualItem_Damaged(), ecorePackage.getEBoolean(), "damaged", null, 0, 1, AudioVisualItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(audioVisualItemEClass, AudioVisualItem.class, "AudioVisualItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getAudioVisualItem_Title(), ecorePackage.getEString(), "title", null, 0, 1, AudioVisualItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getAudioVisualItem_MinutesLength(), ecorePackage.getEInt(), "minutesLength", null, 1, 1, AudioVisualItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getAudioVisualItem_Damaged(), ecorePackage.getEBoolean(), "damaged", null, 0, 1, AudioVisualItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(bookOnTapeEClass, BookOnTape.class, "BookOnTape", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEReference(getBookOnTape_Reader(), this.getPerson(), null, "reader", null, 0, 1, BookOnTape.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEReference(getBookOnTape_Author(), this.getWriter(), null, "author", null, 0, 1, BookOnTape.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(bookOnTapeEClass, BookOnTape.class, "BookOnTape", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getBookOnTape_Reader(), this.getPerson(), null, "reader", null, 0, 1, BookOnTape.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEReference(getBookOnTape_Author(), this.getWriter(), null, "author", null, 0, 1, BookOnTape.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(videoCassetteEClass, VideoCassette.class, "VideoCassette", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEReference(getVideoCassette_Cast(), this.getPerson(), null, "cast", null, 0, -1, VideoCassette.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(videoCassetteEClass, VideoCassette.class, "VideoCassette", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getVideoCassette_Cast(), this.getPerson(), null, "cast", null, 0, -1, VideoCassette.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(borrowerEClass, Borrower.class, "Borrower", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEReference(getBorrower_Borrowed(), this.getLendable(), this.getLendable_Borrowers(), "borrowed", null, 0, -1, Borrower.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(borrowerEClass, Borrower.class, "Borrower", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getBorrower_Borrowed(), this.getLendable(), this.getLendable_Borrowers(), "borrowed", null, 0, -1, Borrower.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(personEClass, Person.class, "Person", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEAttribute(getPerson_FirstName(), ecorePackage.getEString(), "firstName", null, 1, 1, Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-    initEAttribute(getPerson_LastName(), ecorePackage.getEString(), "lastName", null, 1, 1, Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(personEClass, Person.class, "Person", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getPerson_FirstName(), ecorePackage.getEString(), "firstName", null, 1, 1, Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEAttribute(getPerson_LastName(), ecorePackage.getEString(), "lastName", null, 1, 1, Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(employeeEClass, Employee.class, "Employee", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEReference(getEmployee_Manager(), this.getEmployee(), null, "manager", null, 0, 1, Employee.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(employeeEClass, Employee.class, "Employee", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEReference(getEmployee_Manager(), this.getEmployee(), null, "manager", null, 0, 1, Employee.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    initEClass(addressableEClass, Addressable.class, "Addressable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-    initEAttribute(getAddressable_Address(), ecorePackage.getEString(), "address", null, 0, 1, Addressable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+		initEClass(addressableEClass, Addressable.class, "Addressable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+		initEAttribute(getAddressable_Address(), ecorePackage.getEString(), "address", null, 0, 1, Addressable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
 
-    // Initialize enums and add enum literals
-    initEEnum(bookCategoryEEnum, BookCategory.class, "BookCategory"); //$NON-NLS-1$
-    addEEnumLiteral(bookCategoryEEnum, BookCategory.MYSTERY_LITERAL);
-    addEEnumLiteral(bookCategoryEEnum, BookCategory.SCIENCE_FICTION_LITERAL);
-    addEEnumLiteral(bookCategoryEEnum, BookCategory.BIOGRAPHY_LITERAL);
+		// Initialize enums and add enum literals
+		initEEnum(bookCategoryEEnum, BookCategory.class, "BookCategory"); //$NON-NLS-1$
+		addEEnumLiteral(bookCategoryEEnum, BookCategory.MYSTERY_LITERAL);
+		addEEnumLiteral(bookCategoryEEnum, BookCategory.SCIENCE_FICTION_LITERAL);
+		addEEnumLiteral(bookCategoryEEnum, BookCategory.BIOGRAPHY_LITERAL);
 
-    // Create resource
-    createResource(eNS_URI);
+		// Create resource
+		createResource(eNS_URI);
 
-    // Create annotations
-    // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
-    createExtendedMetaDataAnnotations();
-  }
+		// Create annotations
+		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+		createExtendedMetaDataAnnotations();
+	}
 
   /**
-   * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
-   * <!-- begin-user-doc -->
+	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected void createExtendedMetaDataAnnotations()
   {
-    String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$		
-    addAnnotation
-      (getLibrary_Writers(), 
-       source, 
-       new String[] 
-       {
-       "group", "#people" //$NON-NLS-1$ //$NON-NLS-2$
-       });		
-    addAnnotation
-      (getLibrary_Employees(), 
-       source, 
-       new String[] 
-       {
-       "group", "#people" //$NON-NLS-1$ //$NON-NLS-2$
-       });		
-    addAnnotation
-      (getLibrary_Borrowers(), 
-       source, 
-       new String[] 
-       {
-       "group", "#people" //$NON-NLS-1$ //$NON-NLS-2$
-       });		
-    addAnnotation
-      (getLibrary_People(), 
-       source, 
-       new String[] 
-       {
-       "kind", "group" //$NON-NLS-1$ //$NON-NLS-2$
-       });
-  }
+		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$	
+		addAnnotation
+		  (getLibrary_Writers(), 
+		   source, 
+		   new String[] {
+			 "group", "#people" //$NON-NLS-1$ //$NON-NLS-2$
+		   });	
+		addAnnotation
+		  (getLibrary_Employees(), 
+		   source, 
+		   new String[] {
+			 "group", "#people" //$NON-NLS-1$ //$NON-NLS-2$
+		   });	
+		addAnnotation
+		  (getLibrary_Borrowers(), 
+		   source, 
+		   new String[] {
+			 "group", "#people" //$NON-NLS-1$ //$NON-NLS-2$
+		   });	
+		addAnnotation
+		  (getLibrary_People(), 
+		   source, 
+		   new String[] {
+			 "kind", "group" //$NON-NLS-1$ //$NON-NLS-2$
+		   });
+	}
 
 } //EXTLibraryPackageImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EmployeeImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EmployeeImpl.java
index e254824..a3fbee2 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EmployeeImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/EmployeeImpl.java
@@ -35,154 +35,148 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.EmployeeImpl#getManager <em>Manager</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public class EmployeeImpl extends PersonImpl implements Employee
 {
   /**
-   * The cached value of the '{@link #getManager() <em>Manager</em>}' reference.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getManager() <em>Manager</em>}' reference.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getManager()
-   * @generated
-   * @ordered
-   */
+	 * @see #getManager()
+	 * @generated
+	 * @ordered
+	 */
   protected Employee manager;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected EmployeeImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.EMPLOYEE;
-  }
+		return EXTLibraryPackage.Literals.EMPLOYEE;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Employee getManager()
   {
-    if (manager != null && manager.eIsProxy())
-    {
-      InternalEObject oldManager = (InternalEObject)manager;
-      manager = (Employee)eResolveProxy(oldManager);
-      if (manager != oldManager)
-      {
-        if (eNotificationRequired())
-          eNotify(new ENotificationImpl(this, Notification.RESOLVE, EXTLibraryPackage.EMPLOYEE__MANAGER, oldManager, manager));
-      }
-    }
-    return manager;
-  }
+		if (manager != null && manager.eIsProxy()) {
+			InternalEObject oldManager = (InternalEObject)manager;
+			manager = (Employee)eResolveProxy(oldManager);
+			if (manager != oldManager) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EXTLibraryPackage.EMPLOYEE__MANAGER, oldManager, manager));
+			}
+		}
+		return manager;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Employee basicGetManager()
   {
-    return manager;
-  }
+		return manager;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setManager(Employee newManager)
   {
-    Employee oldManager = manager;
-    manager = newManager;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.EMPLOYEE__MANAGER, oldManager, manager));
-  }
+		Employee oldManager = manager;
+		manager = newManager;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.EMPLOYEE__MANAGER, oldManager, manager));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.EMPLOYEE__MANAGER:
-        if (resolve) return getManager();
-        return basicGetManager();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.EMPLOYEE__MANAGER:
+				if (resolve) return getManager();
+				return basicGetManager();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.EMPLOYEE__MANAGER:
-        setManager((Employee)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.EMPLOYEE__MANAGER:
+				setManager((Employee)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.EMPLOYEE__MANAGER:
-        setManager((Employee)null);
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.EMPLOYEE__MANAGER:
+				setManager((Employee)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.EMPLOYEE__MANAGER:
-        return manager != null;
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.EMPLOYEE__MANAGER:
+				return manager != null;
+		}
+		return super.eIsSet(featureID);
+	}
 
 } //EmployeeImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/ItemImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/ItemImpl.java
index 390ea90..9236376 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/ItemImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/ItemImpl.java
@@ -36,160 +36,156 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.ItemImpl#getPublicationDate <em>Publication Date</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public abstract class ItemImpl extends EObjectImpl implements Item
 {
   /**
-   * The default value of the '{@link #getPublicationDate() <em>Publication Date</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getPublicationDate() <em>Publication Date</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getPublicationDate()
-   * @generated
-   * @ordered
-   */
+	 * @see #getPublicationDate()
+	 * @generated
+	 * @ordered
+	 */
   protected static final Date PUBLICATION_DATE_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getPublicationDate() <em>Publication Date</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getPublicationDate() <em>Publication Date</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getPublicationDate()
-   * @generated
-   * @ordered
-   */
+	 * @see #getPublicationDate()
+	 * @generated
+	 * @ordered
+	 */
   protected Date publicationDate = PUBLICATION_DATE_EDEFAULT;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected ItemImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.ITEM;
-  }
+		return EXTLibraryPackage.Literals.ITEM;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Date getPublicationDate()
   {
-    return publicationDate;
-  }
+		return publicationDate;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setPublicationDate(Date newPublicationDate)
   {
-    Date oldPublicationDate = publicationDate;
-    publicationDate = newPublicationDate;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.ITEM__PUBLICATION_DATE, oldPublicationDate, publicationDate));
-  }
+		Date oldPublicationDate = publicationDate;
+		publicationDate = newPublicationDate;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.ITEM__PUBLICATION_DATE, oldPublicationDate, publicationDate));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.ITEM__PUBLICATION_DATE:
-        return getPublicationDate();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.ITEM__PUBLICATION_DATE:
+				return getPublicationDate();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.ITEM__PUBLICATION_DATE:
-        setPublicationDate((Date)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.ITEM__PUBLICATION_DATE:
+				setPublicationDate((Date)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.ITEM__PUBLICATION_DATE:
-        setPublicationDate(PUBLICATION_DATE_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.ITEM__PUBLICATION_DATE:
+				setPublicationDate(PUBLICATION_DATE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.ITEM__PUBLICATION_DATE:
-        return PUBLICATION_DATE_EDEFAULT == null ? publicationDate != null : !PUBLICATION_DATE_EDEFAULT.equals(publicationDate);
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.ITEM__PUBLICATION_DATE:
+				return PUBLICATION_DATE_EDEFAULT == null ? publicationDate != null : !PUBLICATION_DATE_EDEFAULT.equals(publicationDate);
+		}
+		return super.eIsSet(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String toString()
   {
-    if (eIsProxy()) return super.toString();
+		if (eIsProxy()) return super.toString();
 
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (publicationDate: "); //$NON-NLS-1$
-    result.append(publicationDate);
-    result.append(')');
-    return result.toString();
-  }
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (publicationDate: "); //$NON-NLS-1$
+		result.append(publicationDate);
+		result.append(')');
+		return result.toString();
+	}
 
 } //ItemImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/LibraryImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/LibraryImpl.java
index 98ffe68..2a9c0ee 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/LibraryImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/LibraryImpl.java
@@ -51,6 +51,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.LibraryImpl#getAddress <em>Address</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.LibraryImpl#getName <em>Name</em>}</li>
@@ -63,188 +64,187 @@
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.LibraryImpl#getParentBranch <em>Parent Branch</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.LibraryImpl#getPeople <em>People</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public class LibraryImpl extends EObjectImpl implements Library
 {
   /**
-   * The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getAddress()
-   * @generated
-   * @ordered
-   */
+	 * @see #getAddress()
+	 * @generated
+	 * @ordered
+	 */
   protected static final String ADDRESS_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getAddress()
-   * @generated
-   * @ordered
-   */
+	 * @see #getAddress()
+	 * @generated
+	 * @ordered
+	 */
   protected String address = ADDRESS_EDEFAULT;
 
   /**
-   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getName()
-   * @generated
-   * @ordered
-   */
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
   protected static final String NAME_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getName()
-   * @generated
-   * @ordered
-   */
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
   protected String name = NAME_EDEFAULT;
 
   /**
-   * The cached value of the '{@link #getStock() <em>Stock</em>}' containment reference list.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getStock() <em>Stock</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getStock()
-   * @generated
-   * @ordered
-   */
+	 * @see #getStock()
+	 * @generated
+	 * @ordered
+	 */
   protected EList<Item> stock;
 
   /**
-   * The cached value of the '{@link #getBooks() <em>Books</em>}' reference list.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getBooks() <em>Books</em>}' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getBooks()
-   * @generated
-   * @ordered
-   */
+	 * @see #getBooks()
+	 * @generated
+	 * @ordered
+	 */
   protected EList<Book> books;
 
   /**
-   * The cached value of the '{@link #getBranches() <em>Branches</em>}' containment reference list.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getBranches() <em>Branches</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getBranches()
-   * @generated
-   * @ordered
-   */
+	 * @see #getBranches()
+	 * @generated
+	 * @ordered
+	 */
   protected EList<Library> branches;
 
   /**
-   * The cached value of the '{@link #getPeople() <em>People</em>}' attribute list.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getPeople() <em>People</em>}' attribute list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getPeople()
-   * @generated
-   * @ordered
-   */
+	 * @see #getPeople()
+	 * @generated
+	 * @ordered
+	 */
   protected FeatureMap people;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected LibraryImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.LIBRARY;
-  }
+		return EXTLibraryPackage.Literals.LIBRARY;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String getAddress()
   {
-    return address;
-  }
+		return address;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setAddress(String newAddress)
   {
-    String oldAddress = address;
-    address = newAddress;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.LIBRARY__ADDRESS, oldAddress, address));
-  }
+		String oldAddress = address;
+		address = newAddress;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.LIBRARY__ADDRESS, oldAddress, address));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String getName()
   {
-    return name;
-  }
+		return name;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setName(String newName)
   {
-    String oldName = name;
-    name = newName;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.LIBRARY__NAME, oldName, name));
-  }
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.LIBRARY__NAME, oldName, name));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EList<Writer> getWriters()
   {
-    return getPeople().list(EXTLibraryPackage.Literals.LIBRARY__WRITERS);
-  }
+		return getPeople().list(EXTLibraryPackage.Literals.LIBRARY__WRITERS);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EList<Employee> getEmployees()
   {
-    return getPeople().list(EXTLibraryPackage.Literals.LIBRARY__EMPLOYEES);
-  }
+		return getPeople().list(EXTLibraryPackage.Literals.LIBRARY__EMPLOYEES);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EList<Borrower> getBorrowers()
   {
-    return getPeople().list(EXTLibraryPackage.Literals.LIBRARY__BORROWERS);
-  }
+		return getPeople().list(EXTLibraryPackage.Literals.LIBRARY__BORROWERS);
+	}
 
   /**
    * <!-- begin-user-doc -->
@@ -340,338 +340,328 @@
   }
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EList<Library> getBranches()
   {
-    if (branches == null)
-    {
-      branches = new EObjectContainmentWithInverseEList.Resolving<Library>(Library.class, this, EXTLibraryPackage.LIBRARY__BRANCHES, EXTLibraryPackage.LIBRARY__PARENT_BRANCH);
-    }
-    return branches;
-  }
+		if (branches == null) {
+			branches = new EObjectContainmentWithInverseEList.Resolving<Library>(Library.class, this, EXTLibraryPackage.LIBRARY__BRANCHES, EXTLibraryPackage.LIBRARY__PARENT_BRANCH);
+		}
+		return branches;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Library getParentBranch()
   {
-    if (eContainerFeatureID() != EXTLibraryPackage.LIBRARY__PARENT_BRANCH) return null;
-    return (Library)eContainer();
-  }
+		if (eContainerFeatureID() != EXTLibraryPackage.LIBRARY__PARENT_BRANCH) return null;
+		return (Library)eContainer();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public Library basicGetParentBranch()
   {
-    if (eContainerFeatureID() != EXTLibraryPackage.LIBRARY__PARENT_BRANCH) return null;
-    return (Library)eInternalContainer();
-  }
+		if (eContainerFeatureID() != EXTLibraryPackage.LIBRARY__PARENT_BRANCH) return null;
+		return (Library)eInternalContainer();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public NotificationChain basicSetParentBranch(Library newParentBranch, NotificationChain msgs)
   {
-    msgs = eBasicSetContainer((InternalEObject)newParentBranch, EXTLibraryPackage.LIBRARY__PARENT_BRANCH, msgs);
-    return msgs;
-  }
+		msgs = eBasicSetContainer((InternalEObject)newParentBranch, EXTLibraryPackage.LIBRARY__PARENT_BRANCH, msgs);
+		return msgs;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setParentBranch(Library newParentBranch)
   {
-    if (newParentBranch != eInternalContainer() || (eContainerFeatureID() != EXTLibraryPackage.LIBRARY__PARENT_BRANCH && newParentBranch != null))
-    {
-      if (EcoreUtil.isAncestor(this, newParentBranch))
-        throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
-      NotificationChain msgs = null;
-      if (eInternalContainer() != null)
-        msgs = eBasicRemoveFromContainer(msgs);
-      if (newParentBranch != null)
-        msgs = ((InternalEObject)newParentBranch).eInverseAdd(this, EXTLibraryPackage.LIBRARY__BRANCHES, Library.class, msgs);
-      msgs = basicSetParentBranch(newParentBranch, msgs);
-      if (msgs != null) msgs.dispatch();
-    }
-    else if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.LIBRARY__PARENT_BRANCH, newParentBranch, newParentBranch));
-  }
+		if (newParentBranch != eInternalContainer() || (eContainerFeatureID() != EXTLibraryPackage.LIBRARY__PARENT_BRANCH && newParentBranch != null)) {
+			if (EcoreUtil.isAncestor(this, newParentBranch))
+				throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+			NotificationChain msgs = null;
+			if (eInternalContainer() != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newParentBranch != null)
+				msgs = ((InternalEObject)newParentBranch).eInverseAdd(this, EXTLibraryPackage.LIBRARY__BRANCHES, Library.class, msgs);
+			msgs = basicSetParentBranch(newParentBranch, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.LIBRARY__PARENT_BRANCH, newParentBranch, newParentBranch));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public FeatureMap getPeople()
   {
-    if (people == null)
-    {
-      people = new BasicFeatureMap(this, EXTLibraryPackage.LIBRARY__PEOPLE);
-    }
-    return people;
-  }
+		if (people == null) {
+			people = new BasicFeatureMap(this, EXTLibraryPackage.LIBRARY__PEOPLE);
+		}
+		return people;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @SuppressWarnings("unchecked")
   @Override
   public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.LIBRARY__BRANCHES:
-        return ((InternalEList<InternalEObject>)(InternalEList<?>)getBranches()).basicAdd(otherEnd, msgs);
-      case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
-        if (eInternalContainer() != null)
-          msgs = eBasicRemoveFromContainer(msgs);
-        return basicSetParentBranch((Library)otherEnd, msgs);
-    }
-    return super.eInverseAdd(otherEnd, featureID, msgs);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.LIBRARY__BRANCHES:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getBranches()).basicAdd(otherEnd, msgs);
+			case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetParentBranch((Library)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.LIBRARY__WRITERS:
-        return ((InternalEList<?>)getWriters()).basicRemove(otherEnd, msgs);
-      case EXTLibraryPackage.LIBRARY__EMPLOYEES:
-        return ((InternalEList<?>)getEmployees()).basicRemove(otherEnd, msgs);
-      case EXTLibraryPackage.LIBRARY__BORROWERS:
-        return ((InternalEList<?>)getBorrowers()).basicRemove(otherEnd, msgs);
-      case EXTLibraryPackage.LIBRARY__STOCK:
-        return ((InternalEList<?>)getStock()).basicRemove(otherEnd, msgs);
-      case EXTLibraryPackage.LIBRARY__BRANCHES:
-        return ((InternalEList<?>)getBranches()).basicRemove(otherEnd, msgs);
-      case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
-        return basicSetParentBranch(null, msgs);
-      case EXTLibraryPackage.LIBRARY__PEOPLE:
-        return ((InternalEList<?>)getPeople()).basicRemove(otherEnd, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.LIBRARY__WRITERS:
+				return ((InternalEList<?>)getWriters()).basicRemove(otherEnd, msgs);
+			case EXTLibraryPackage.LIBRARY__EMPLOYEES:
+				return ((InternalEList<?>)getEmployees()).basicRemove(otherEnd, msgs);
+			case EXTLibraryPackage.LIBRARY__BORROWERS:
+				return ((InternalEList<?>)getBorrowers()).basicRemove(otherEnd, msgs);
+			case EXTLibraryPackage.LIBRARY__STOCK:
+				return ((InternalEList<?>)getStock()).basicRemove(otherEnd, msgs);
+			case EXTLibraryPackage.LIBRARY__BRANCHES:
+				return ((InternalEList<?>)getBranches()).basicRemove(otherEnd, msgs);
+			case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
+				return basicSetParentBranch(null, msgs);
+			case EXTLibraryPackage.LIBRARY__PEOPLE:
+				return ((InternalEList<?>)getPeople()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs)
   {
-    switch (eContainerFeatureID())
-    {
-      case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
-        return eInternalContainer().eInverseRemove(this, EXTLibraryPackage.LIBRARY__BRANCHES, Library.class, msgs);
-    }
-    return super.eBasicRemoveFromContainerFeature(msgs);
-  }
+		switch (eContainerFeatureID()) {
+			case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
+				return eInternalContainer().eInverseRemove(this, EXTLibraryPackage.LIBRARY__BRANCHES, Library.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.LIBRARY__ADDRESS:
-        return getAddress();
-      case EXTLibraryPackage.LIBRARY__NAME:
-        return getName();
-      case EXTLibraryPackage.LIBRARY__WRITERS:
-        return getWriters();
-      case EXTLibraryPackage.LIBRARY__EMPLOYEES:
-        return getEmployees();
-      case EXTLibraryPackage.LIBRARY__BORROWERS:
-        return getBorrowers();
-      case EXTLibraryPackage.LIBRARY__STOCK:
-        return getStock();
-      case EXTLibraryPackage.LIBRARY__BOOKS:
-        return getBooks();
-      case EXTLibraryPackage.LIBRARY__BRANCHES:
-        return getBranches();
-      case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
-        if (resolve) return getParentBranch();
-        return basicGetParentBranch();
-      case EXTLibraryPackage.LIBRARY__PEOPLE:
-        if (coreType) return getPeople();
-        return ((FeatureMap.Internal)getPeople()).getWrapper();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.LIBRARY__ADDRESS:
+				return getAddress();
+			case EXTLibraryPackage.LIBRARY__NAME:
+				return getName();
+			case EXTLibraryPackage.LIBRARY__WRITERS:
+				return getWriters();
+			case EXTLibraryPackage.LIBRARY__EMPLOYEES:
+				return getEmployees();
+			case EXTLibraryPackage.LIBRARY__BORROWERS:
+				return getBorrowers();
+			case EXTLibraryPackage.LIBRARY__STOCK:
+				return getStock();
+			case EXTLibraryPackage.LIBRARY__BOOKS:
+				return getBooks();
+			case EXTLibraryPackage.LIBRARY__BRANCHES:
+				return getBranches();
+			case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
+				if (resolve) return getParentBranch();
+				return basicGetParentBranch();
+			case EXTLibraryPackage.LIBRARY__PEOPLE:
+				if (coreType) return getPeople();
+				return ((FeatureMap.Internal)getPeople()).getWrapper();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @SuppressWarnings("unchecked")
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.LIBRARY__ADDRESS:
-        setAddress((String)newValue);
-        return;
-      case EXTLibraryPackage.LIBRARY__NAME:
-        setName((String)newValue);
-        return;
-      case EXTLibraryPackage.LIBRARY__WRITERS:
-        getWriters().clear();
-        getWriters().addAll((Collection<? extends Writer>)newValue);
-        return;
-      case EXTLibraryPackage.LIBRARY__EMPLOYEES:
-        getEmployees().clear();
-        getEmployees().addAll((Collection<? extends Employee>)newValue);
-        return;
-      case EXTLibraryPackage.LIBRARY__BORROWERS:
-        getBorrowers().clear();
-        getBorrowers().addAll((Collection<? extends Borrower>)newValue);
-        return;
-      case EXTLibraryPackage.LIBRARY__STOCK:
-        getStock().clear();
-        getStock().addAll((Collection<? extends Item>)newValue);
-        return;
-      case EXTLibraryPackage.LIBRARY__BOOKS:
-        getBooks().clear();
-        getBooks().addAll((Collection<? extends Book>)newValue);
-        return;
-      case EXTLibraryPackage.LIBRARY__BRANCHES:
-        getBranches().clear();
-        getBranches().addAll((Collection<? extends Library>)newValue);
-        return;
-      case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
-        setParentBranch((Library)newValue);
-        return;
-      case EXTLibraryPackage.LIBRARY__PEOPLE:
-        ((FeatureMap.Internal)getPeople()).set(newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.LIBRARY__ADDRESS:
+				setAddress((String)newValue);
+				return;
+			case EXTLibraryPackage.LIBRARY__NAME:
+				setName((String)newValue);
+				return;
+			case EXTLibraryPackage.LIBRARY__WRITERS:
+				getWriters().clear();
+				getWriters().addAll((Collection<? extends Writer>)newValue);
+				return;
+			case EXTLibraryPackage.LIBRARY__EMPLOYEES:
+				getEmployees().clear();
+				getEmployees().addAll((Collection<? extends Employee>)newValue);
+				return;
+			case EXTLibraryPackage.LIBRARY__BORROWERS:
+				getBorrowers().clear();
+				getBorrowers().addAll((Collection<? extends Borrower>)newValue);
+				return;
+			case EXTLibraryPackage.LIBRARY__STOCK:
+				getStock().clear();
+				getStock().addAll((Collection<? extends Item>)newValue);
+				return;
+			case EXTLibraryPackage.LIBRARY__BOOKS:
+				getBooks().clear();
+				getBooks().addAll((Collection<? extends Book>)newValue);
+				return;
+			case EXTLibraryPackage.LIBRARY__BRANCHES:
+				getBranches().clear();
+				getBranches().addAll((Collection<? extends Library>)newValue);
+				return;
+			case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
+				setParentBranch((Library)newValue);
+				return;
+			case EXTLibraryPackage.LIBRARY__PEOPLE:
+				((FeatureMap.Internal)getPeople()).set(newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.LIBRARY__ADDRESS:
-        setAddress(ADDRESS_EDEFAULT);
-        return;
-      case EXTLibraryPackage.LIBRARY__NAME:
-        setName(NAME_EDEFAULT);
-        return;
-      case EXTLibraryPackage.LIBRARY__WRITERS:
-        getWriters().clear();
-        return;
-      case EXTLibraryPackage.LIBRARY__EMPLOYEES:
-        getEmployees().clear();
-        return;
-      case EXTLibraryPackage.LIBRARY__BORROWERS:
-        getBorrowers().clear();
-        return;
-      case EXTLibraryPackage.LIBRARY__STOCK:
-        getStock().clear();
-        return;
-      case EXTLibraryPackage.LIBRARY__BOOKS:
-        getBooks().clear();
-        return;
-      case EXTLibraryPackage.LIBRARY__BRANCHES:
-        getBranches().clear();
-        return;
-      case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
-        setParentBranch((Library)null);
-        return;
-      case EXTLibraryPackage.LIBRARY__PEOPLE:
-        getPeople().clear();
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.LIBRARY__ADDRESS:
+				setAddress(ADDRESS_EDEFAULT);
+				return;
+			case EXTLibraryPackage.LIBRARY__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case EXTLibraryPackage.LIBRARY__WRITERS:
+				getWriters().clear();
+				return;
+			case EXTLibraryPackage.LIBRARY__EMPLOYEES:
+				getEmployees().clear();
+				return;
+			case EXTLibraryPackage.LIBRARY__BORROWERS:
+				getBorrowers().clear();
+				return;
+			case EXTLibraryPackage.LIBRARY__STOCK:
+				getStock().clear();
+				return;
+			case EXTLibraryPackage.LIBRARY__BOOKS:
+				getBooks().clear();
+				return;
+			case EXTLibraryPackage.LIBRARY__BRANCHES:
+				getBranches().clear();
+				return;
+			case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
+				setParentBranch((Library)null);
+				return;
+			case EXTLibraryPackage.LIBRARY__PEOPLE:
+				getPeople().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.LIBRARY__ADDRESS:
-        return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address);
-      case EXTLibraryPackage.LIBRARY__NAME:
-        return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-      case EXTLibraryPackage.LIBRARY__WRITERS:
-        return !getWriters().isEmpty();
-      case EXTLibraryPackage.LIBRARY__EMPLOYEES:
-        return !getEmployees().isEmpty();
-      case EXTLibraryPackage.LIBRARY__BORROWERS:
-        return !getBorrowers().isEmpty();
-      case EXTLibraryPackage.LIBRARY__STOCK:
-        return stock != null && !stock.isEmpty();
-      case EXTLibraryPackage.LIBRARY__BOOKS:
-        return books != null && !books.isEmpty();
-      case EXTLibraryPackage.LIBRARY__BRANCHES:
-        return branches != null && !branches.isEmpty();
-      case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
-        return basicGetParentBranch() != null;
-      case EXTLibraryPackage.LIBRARY__PEOPLE:
-        return people != null && !people.isEmpty();
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.LIBRARY__ADDRESS:
+				return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address);
+			case EXTLibraryPackage.LIBRARY__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case EXTLibraryPackage.LIBRARY__WRITERS:
+				return !getWriters().isEmpty();
+			case EXTLibraryPackage.LIBRARY__EMPLOYEES:
+				return !getEmployees().isEmpty();
+			case EXTLibraryPackage.LIBRARY__BORROWERS:
+				return !getBorrowers().isEmpty();
+			case EXTLibraryPackage.LIBRARY__STOCK:
+				return stock != null && !stock.isEmpty();
+			case EXTLibraryPackage.LIBRARY__BOOKS:
+				return books != null && !books.isEmpty();
+			case EXTLibraryPackage.LIBRARY__BRANCHES:
+				return branches != null && !branches.isEmpty();
+			case EXTLibraryPackage.LIBRARY__PARENT_BRANCH:
+				return basicGetParentBranch() != null;
+			case EXTLibraryPackage.LIBRARY__PEOPLE:
+				return people != null && !people.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String toString()
   {
-    if (eIsProxy()) return super.toString();
+		if (eIsProxy()) return super.toString();
 
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (address: "); //$NON-NLS-1$
-    result.append(address);
-    result.append(", name: "); //$NON-NLS-1$
-    result.append(name);
-    result.append(", people: "); //$NON-NLS-1$
-    result.append(people);
-    result.append(')');
-    return result.toString();
-  }
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (address: "); //$NON-NLS-1$
+		result.append(address);
+		result.append(", name: "); //$NON-NLS-1$
+		result.append(name);
+		result.append(", people: "); //$NON-NLS-1$
+		result.append(people);
+		result.append(')');
+		return result.toString();
+	}
 
 } //LibraryImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/PeriodicalImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/PeriodicalImpl.java
index 6e12c73..e6807e4 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/PeriodicalImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/PeriodicalImpl.java
@@ -33,216 +33,212 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.PeriodicalImpl#getTitle <em>Title</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.PeriodicalImpl#getIssuesPerYear <em>Issues Per Year</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public abstract class PeriodicalImpl extends ItemImpl implements Periodical
 {
   /**
-   * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getTitle()
-   * @generated
-   * @ordered
-   */
+	 * @see #getTitle()
+	 * @generated
+	 * @ordered
+	 */
   protected static final String TITLE_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getTitle()
-   * @generated
-   * @ordered
-   */
+	 * @see #getTitle()
+	 * @generated
+	 * @ordered
+	 */
   protected String title = TITLE_EDEFAULT;
 
   /**
-   * The default value of the '{@link #getIssuesPerYear() <em>Issues Per Year</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getIssuesPerYear() <em>Issues Per Year</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getIssuesPerYear()
-   * @generated
-   * @ordered
-   */
+	 * @see #getIssuesPerYear()
+	 * @generated
+	 * @ordered
+	 */
   protected static final int ISSUES_PER_YEAR_EDEFAULT = 0;
 
   /**
-   * The cached value of the '{@link #getIssuesPerYear() <em>Issues Per Year</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getIssuesPerYear() <em>Issues Per Year</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getIssuesPerYear()
-   * @generated
-   * @ordered
-   */
+	 * @see #getIssuesPerYear()
+	 * @generated
+	 * @ordered
+	 */
   protected int issuesPerYear = ISSUES_PER_YEAR_EDEFAULT;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected PeriodicalImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.PERIODICAL;
-  }
+		return EXTLibraryPackage.Literals.PERIODICAL;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String getTitle()
   {
-    return title;
-  }
+		return title;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setTitle(String newTitle)
   {
-    String oldTitle = title;
-    title = newTitle;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.PERIODICAL__TITLE, oldTitle, title));
-  }
+		String oldTitle = title;
+		title = newTitle;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.PERIODICAL__TITLE, oldTitle, title));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public int getIssuesPerYear()
   {
-    return issuesPerYear;
-  }
+		return issuesPerYear;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setIssuesPerYear(int newIssuesPerYear)
   {
-    int oldIssuesPerYear = issuesPerYear;
-    issuesPerYear = newIssuesPerYear;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR, oldIssuesPerYear, issuesPerYear));
-  }
+		int oldIssuesPerYear = issuesPerYear;
+		issuesPerYear = newIssuesPerYear;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR, oldIssuesPerYear, issuesPerYear));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.PERIODICAL__TITLE:
-        return getTitle();
-      case EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
-        return getIssuesPerYear();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.PERIODICAL__TITLE:
+				return getTitle();
+			case EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
+				return getIssuesPerYear();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.PERIODICAL__TITLE:
-        setTitle((String)newValue);
-        return;
-      case EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
-        setIssuesPerYear((Integer)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.PERIODICAL__TITLE:
+				setTitle((String)newValue);
+				return;
+			case EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
+				setIssuesPerYear((Integer)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.PERIODICAL__TITLE:
-        setTitle(TITLE_EDEFAULT);
-        return;
-      case EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
-        setIssuesPerYear(ISSUES_PER_YEAR_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.PERIODICAL__TITLE:
+				setTitle(TITLE_EDEFAULT);
+				return;
+			case EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
+				setIssuesPerYear(ISSUES_PER_YEAR_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.PERIODICAL__TITLE:
-        return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
-      case EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
-        return issuesPerYear != ISSUES_PER_YEAR_EDEFAULT;
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.PERIODICAL__TITLE:
+				return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+			case EXTLibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
+				return issuesPerYear != ISSUES_PER_YEAR_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String toString()
   {
-    if (eIsProxy()) return super.toString();
+		if (eIsProxy()) return super.toString();
 
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (title: "); //$NON-NLS-1$
-    result.append(title);
-    result.append(", issuesPerYear: "); //$NON-NLS-1$
-    result.append(issuesPerYear);
-    result.append(')');
-    return result.toString();
-  }
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (title: "); //$NON-NLS-1$
+		result.append(title);
+		result.append(", issuesPerYear: "); //$NON-NLS-1$
+		result.append(issuesPerYear);
+		result.append(')');
+		return result.toString();
+	}
 
 } //PeriodicalImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/PersonImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/PersonImpl.java
index 7ac01ca..4b03914 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/PersonImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/PersonImpl.java
@@ -34,272 +34,268 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.PersonImpl#getAddress <em>Address</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.PersonImpl#getFirstName <em>First Name</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.PersonImpl#getLastName <em>Last Name</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public class PersonImpl extends EObjectImpl implements Person
 {
   /**
-   * The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getAddress()
-   * @generated
-   * @ordered
-   */
+	 * @see #getAddress()
+	 * @generated
+	 * @ordered
+	 */
   protected static final String ADDRESS_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getAddress()
-   * @generated
-   * @ordered
-   */
+	 * @see #getAddress()
+	 * @generated
+	 * @ordered
+	 */
   protected String address = ADDRESS_EDEFAULT;
 
   /**
-   * The default value of the '{@link #getFirstName() <em>First Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getFirstName() <em>First Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getFirstName()
-   * @generated
-   * @ordered
-   */
+	 * @see #getFirstName()
+	 * @generated
+	 * @ordered
+	 */
   protected static final String FIRST_NAME_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getFirstName() <em>First Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getFirstName() <em>First Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getFirstName()
-   * @generated
-   * @ordered
-   */
+	 * @see #getFirstName()
+	 * @generated
+	 * @ordered
+	 */
   protected String firstName = FIRST_NAME_EDEFAULT;
 
   /**
-   * The default value of the '{@link #getLastName() <em>Last Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getLastName() <em>Last Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getLastName()
-   * @generated
-   * @ordered
-   */
+	 * @see #getLastName()
+	 * @generated
+	 * @ordered
+	 */
   protected static final String LAST_NAME_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getLastName() <em>Last Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getLastName() <em>Last Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getLastName()
-   * @generated
-   * @ordered
-   */
+	 * @see #getLastName()
+	 * @generated
+	 * @ordered
+	 */
   protected String lastName = LAST_NAME_EDEFAULT;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected PersonImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.PERSON;
-  }
+		return EXTLibraryPackage.Literals.PERSON;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String getAddress()
   {
-    return address;
-  }
+		return address;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setAddress(String newAddress)
   {
-    String oldAddress = address;
-    address = newAddress;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.PERSON__ADDRESS, oldAddress, address));
-  }
+		String oldAddress = address;
+		address = newAddress;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.PERSON__ADDRESS, oldAddress, address));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String getFirstName()
   {
-    return firstName;
-  }
+		return firstName;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setFirstName(String newFirstName)
   {
-    String oldFirstName = firstName;
-    firstName = newFirstName;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.PERSON__FIRST_NAME, oldFirstName, firstName));
-  }
+		String oldFirstName = firstName;
+		firstName = newFirstName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.PERSON__FIRST_NAME, oldFirstName, firstName));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public String getLastName()
   {
-    return lastName;
-  }
+		return lastName;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public void setLastName(String newLastName)
   {
-    String oldLastName = lastName;
-    lastName = newLastName;
-    if (eNotificationRequired())
-      eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.PERSON__LAST_NAME, oldLastName, lastName));
-  }
+		String oldLastName = lastName;
+		lastName = newLastName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EXTLibraryPackage.PERSON__LAST_NAME, oldLastName, lastName));
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.PERSON__ADDRESS:
-        return getAddress();
-      case EXTLibraryPackage.PERSON__FIRST_NAME:
-        return getFirstName();
-      case EXTLibraryPackage.PERSON__LAST_NAME:
-        return getLastName();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.PERSON__ADDRESS:
+				return getAddress();
+			case EXTLibraryPackage.PERSON__FIRST_NAME:
+				return getFirstName();
+			case EXTLibraryPackage.PERSON__LAST_NAME:
+				return getLastName();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.PERSON__ADDRESS:
-        setAddress((String)newValue);
-        return;
-      case EXTLibraryPackage.PERSON__FIRST_NAME:
-        setFirstName((String)newValue);
-        return;
-      case EXTLibraryPackage.PERSON__LAST_NAME:
-        setLastName((String)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.PERSON__ADDRESS:
+				setAddress((String)newValue);
+				return;
+			case EXTLibraryPackage.PERSON__FIRST_NAME:
+				setFirstName((String)newValue);
+				return;
+			case EXTLibraryPackage.PERSON__LAST_NAME:
+				setLastName((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.PERSON__ADDRESS:
-        setAddress(ADDRESS_EDEFAULT);
-        return;
-      case EXTLibraryPackage.PERSON__FIRST_NAME:
-        setFirstName(FIRST_NAME_EDEFAULT);
-        return;
-      case EXTLibraryPackage.PERSON__LAST_NAME:
-        setLastName(LAST_NAME_EDEFAULT);
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.PERSON__ADDRESS:
+				setAddress(ADDRESS_EDEFAULT);
+				return;
+			case EXTLibraryPackage.PERSON__FIRST_NAME:
+				setFirstName(FIRST_NAME_EDEFAULT);
+				return;
+			case EXTLibraryPackage.PERSON__LAST_NAME:
+				setLastName(LAST_NAME_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.PERSON__ADDRESS:
-        return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address);
-      case EXTLibraryPackage.PERSON__FIRST_NAME:
-        return FIRST_NAME_EDEFAULT == null ? firstName != null : !FIRST_NAME_EDEFAULT.equals(firstName);
-      case EXTLibraryPackage.PERSON__LAST_NAME:
-        return LAST_NAME_EDEFAULT == null ? lastName != null : !LAST_NAME_EDEFAULT.equals(lastName);
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.PERSON__ADDRESS:
+				return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address);
+			case EXTLibraryPackage.PERSON__FIRST_NAME:
+				return FIRST_NAME_EDEFAULT == null ? firstName != null : !FIRST_NAME_EDEFAULT.equals(firstName);
+			case EXTLibraryPackage.PERSON__LAST_NAME:
+				return LAST_NAME_EDEFAULT == null ? lastName != null : !LAST_NAME_EDEFAULT.equals(lastName);
+		}
+		return super.eIsSet(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public String toString()
   {
-    if (eIsProxy()) return super.toString();
+		if (eIsProxy()) return super.toString();
 
-    StringBuffer result = new StringBuffer(super.toString());
-    result.append(" (address: "); //$NON-NLS-1$
-    result.append(address);
-    result.append(", firstName: "); //$NON-NLS-1$
-    result.append(firstName);
-    result.append(", lastName: "); //$NON-NLS-1$
-    result.append(lastName);
-    result.append(')');
-    return result.toString();
-  }
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (address: "); //$NON-NLS-1$
+		result.append(address);
+		result.append(", firstName: "); //$NON-NLS-1$
+		result.append(firstName);
+		result.append(", lastName: "); //$NON-NLS-1$
+		result.append(lastName);
+		result.append(')');
+		return result.toString();
+	}
 
 } //PersonImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/VideoCassetteImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/VideoCassetteImpl.java
index fe49ec6..9f8e5e9 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/VideoCassetteImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/VideoCassetteImpl.java
@@ -35,126 +35,121 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.VideoCassetteImpl#getCast <em>Cast</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public class VideoCassetteImpl extends AudioVisualItemImpl implements VideoCassette
 {
   /**
-   * The cached value of the '{@link #getCast() <em>Cast</em>}' reference list.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getCast() <em>Cast</em>}' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getCast()
-   * @generated
-   * @ordered
-   */
+	 * @see #getCast()
+	 * @generated
+	 * @ordered
+	 */
   protected EList<Person> cast;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected VideoCassetteImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.VIDEO_CASSETTE;
-  }
+		return EXTLibraryPackage.Literals.VIDEO_CASSETTE;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EList<Person> getCast()
   {
-    if (cast == null)
-    {
-      cast = new EObjectResolvingEList<Person>(Person.class, this, EXTLibraryPackage.VIDEO_CASSETTE__CAST);
-    }
-    return cast;
-  }
+		if (cast == null) {
+			cast = new EObjectResolvingEList<Person>(Person.class, this, EXTLibraryPackage.VIDEO_CASSETTE__CAST);
+		}
+		return cast;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.VIDEO_CASSETTE__CAST:
-        return getCast();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.VIDEO_CASSETTE__CAST:
+				return getCast();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @SuppressWarnings("unchecked")
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.VIDEO_CASSETTE__CAST:
-        getCast().clear();
-        getCast().addAll((Collection<? extends Person>)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.VIDEO_CASSETTE__CAST:
+				getCast().clear();
+				getCast().addAll((Collection<? extends Person>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.VIDEO_CASSETTE__CAST:
-        getCast().clear();
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.VIDEO_CASSETTE__CAST:
+				getCast().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.VIDEO_CASSETTE__CAST:
-        return cast != null && !cast.isEmpty();
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.VIDEO_CASSETTE__CAST:
+				return cast != null && !cast.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
 
 } //VideoCassetteImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/WriterImpl.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/WriterImpl.java
index 1f419e3..15cdce8 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/WriterImpl.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/impl/WriterImpl.java
@@ -41,56 +41,56 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.WriterImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.emf.parsley.examples.library.impl.WriterImpl#getBooks <em>Books</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
 public class WriterImpl extends PersonImpl implements Writer
 {
   /**
-   * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-   * <!-- begin-user-doc -->
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getName()
-   * @generated
-   * @ordered
-   */
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
   protected static final String NAME_EDEFAULT = null;
 
   /**
-   * The cached value of the '{@link #getBooks() <em>Books</em>}' reference list.
-   * <!-- begin-user-doc -->
+	 * The cached value of the '{@link #getBooks() <em>Books</em>}' reference list.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @see #getBooks()
-   * @generated
-   * @ordered
-   */
+	 * @see #getBooks()
+	 * @generated
+	 * @ordered
+	 */
   protected EList<Book> books;
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected WriterImpl()
   {
-    super();
-  }
+		super();
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   protected EClass eStaticClass()
   {
-    return EXTLibraryPackage.Literals.WRITER;
-  }
+		return EXTLibraryPackage.Literals.WRITER;
+	}
 
   /**
    * <!-- begin-user-doc -->
@@ -158,128 +158,121 @@
   }
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EList<Book> getBooks()
   {
-    if (books == null)
-    {
-      books = new EObjectWithInverseResolvingEList<Book>(Book.class, this, EXTLibraryPackage.WRITER__BOOKS, EXTLibraryPackage.BOOK__AUTHOR);
-    }
-    return books;
-  }
+		if (books == null) {
+			books = new EObjectWithInverseResolvingEList<Book>(Book.class, this, EXTLibraryPackage.WRITER__BOOKS, EXTLibraryPackage.BOOK__AUTHOR);
+		}
+		return books;
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @SuppressWarnings("unchecked")
   @Override
   public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.WRITER__BOOKS:
-        return ((InternalEList<InternalEObject>)(InternalEList<?>)getBooks()).basicAdd(otherEnd, msgs);
-    }
-    return super.eInverseAdd(otherEnd, featureID, msgs);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.WRITER__BOOKS:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getBooks()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.WRITER__BOOKS:
-        return ((InternalEList<?>)getBooks()).basicRemove(otherEnd, msgs);
-    }
-    return super.eInverseRemove(otherEnd, featureID, msgs);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.WRITER__BOOKS:
+				return ((InternalEList<?>)getBooks()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public Object eGet(int featureID, boolean resolve, boolean coreType)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.WRITER__NAME:
-        return getName();
-      case EXTLibraryPackage.WRITER__BOOKS:
-        return getBooks();
-    }
-    return super.eGet(featureID, resolve, coreType);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.WRITER__NAME:
+				return getName();
+			case EXTLibraryPackage.WRITER__BOOKS:
+				return getBooks();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @SuppressWarnings("unchecked")
   @Override
   public void eSet(int featureID, Object newValue)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.WRITER__NAME:
-        setName((String)newValue);
-        return;
-      case EXTLibraryPackage.WRITER__BOOKS:
-        getBooks().clear();
-        getBooks().addAll((Collection<? extends Book>)newValue);
-        return;
-    }
-    super.eSet(featureID, newValue);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.WRITER__NAME:
+				setName((String)newValue);
+				return;
+			case EXTLibraryPackage.WRITER__BOOKS:
+				getBooks().clear();
+				getBooks().addAll((Collection<? extends Book>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public void eUnset(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.WRITER__NAME:
-        setName(NAME_EDEFAULT);
-        return;
-      case EXTLibraryPackage.WRITER__BOOKS:
-        getBooks().clear();
-        return;
-    }
-    super.eUnset(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.WRITER__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case EXTLibraryPackage.WRITER__BOOKS:
+				getBooks().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
 
   /**
-   * <!-- begin-user-doc -->
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   @Override
   public boolean eIsSet(int featureID)
   {
-    switch (featureID)
-    {
-      case EXTLibraryPackage.WRITER__NAME:
-        return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
-      case EXTLibraryPackage.WRITER__BOOKS:
-        return books != null && !books.isEmpty();
-    }
-    return super.eIsSet(featureID);
-  }
+		switch (featureID) {
+			case EXTLibraryPackage.WRITER__NAME:
+				return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+			case EXTLibraryPackage.WRITER__BOOKS:
+				return books != null && !books.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
 
 } //WriterImpl
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/util/EXTLibraryAdapterFactory.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/util/EXTLibraryAdapterFactory.java
index aa8e328..495285b 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/util/EXTLibraryAdapterFactory.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/util/EXTLibraryAdapterFactory.java
@@ -39,371 +39,352 @@
 public class EXTLibraryAdapterFactory extends AdapterFactoryImpl
 {
   /**
-   * The cached model package.
-   * <!-- begin-user-doc -->
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected static EXTLibraryPackage modelPackage;
 
   /**
-   * Creates an instance of the adapter factory.
-   * <!-- begin-user-doc -->
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EXTLibraryAdapterFactory()
   {
-    if (modelPackage == null)
-    {
-      modelPackage = EXTLibraryPackage.eINSTANCE;
-    }
-  }
+		if (modelPackage == null) {
+			modelPackage = EXTLibraryPackage.eINSTANCE;
+		}
+	}
 
   /**
-   * Returns whether this factory is applicable for the type of the object.
-   * <!-- begin-user-doc -->
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
    * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
    * <!-- end-user-doc -->
-   * @return whether this factory is applicable for the type of the object.
-   * @generated
-   */
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
   @Override
   public boolean isFactoryForType(Object object)
   {
-    if (object == modelPackage)
-    {
-      return true;
-    }
-    if (object instanceof EObject)
-    {
-      return ((EObject)object).eClass().getEPackage() == modelPackage;
-    }
-    return false;
-  }
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
 
   /**
-   * The switch that delegates to the <code>createXXX</code> methods.
-   * <!-- begin-user-doc -->
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected EXTLibrarySwitch<Adapter> modelSwitch =
-    new EXTLibrarySwitch<Adapter>()
-    {
-      @Override
-      public Adapter caseBook(Book object)
-      {
-        return createBookAdapter();
-      }
-      @Override
-      public Adapter caseLibrary(Library object)
-      {
-        return createLibraryAdapter();
-      }
-      @Override
-      public Adapter caseWriter(Writer object)
-      {
-        return createWriterAdapter();
-      }
-      @Override
-      public Adapter caseItem(Item object)
-      {
-        return createItemAdapter();
-      }
-      @Override
-      public Adapter caseLendable(Lendable object)
-      {
-        return createLendableAdapter();
-      }
-      @Override
-      public Adapter caseCirculatingItem(CirculatingItem object)
-      {
-        return createCirculatingItemAdapter();
-      }
-      @Override
-      public Adapter casePeriodical(Periodical object)
-      {
-        return createPeriodicalAdapter();
-      }
-      @Override
-      public Adapter caseAudioVisualItem(AudioVisualItem object)
-      {
-        return createAudioVisualItemAdapter();
-      }
-      @Override
-      public Adapter caseBookOnTape(BookOnTape object)
-      {
-        return createBookOnTapeAdapter();
-      }
-      @Override
-      public Adapter caseVideoCassette(VideoCassette object)
-      {
-        return createVideoCassetteAdapter();
-      }
-      @Override
-      public Adapter caseBorrower(Borrower object)
-      {
-        return createBorrowerAdapter();
-      }
-      @Override
-      public Adapter casePerson(Person object)
-      {
-        return createPersonAdapter();
-      }
-      @Override
-      public Adapter caseEmployee(Employee object)
-      {
-        return createEmployeeAdapter();
-      }
-      @Override
-      public Adapter caseAddressable(Addressable object)
-      {
-        return createAddressableAdapter();
-      }
-      @Override
-      public Adapter defaultCase(EObject object)
-      {
-        return createEObjectAdapter();
-      }
-    };
+    new EXTLibrarySwitch<Adapter>() {
+			@Override
+			public Adapter caseBook(Book object) {
+				return createBookAdapter();
+			}
+			@Override
+			public Adapter caseLibrary(Library object) {
+				return createLibraryAdapter();
+			}
+			@Override
+			public Adapter caseWriter(Writer object) {
+				return createWriterAdapter();
+			}
+			@Override
+			public Adapter caseItem(Item object) {
+				return createItemAdapter();
+			}
+			@Override
+			public Adapter caseLendable(Lendable object) {
+				return createLendableAdapter();
+			}
+			@Override
+			public Adapter caseCirculatingItem(CirculatingItem object) {
+				return createCirculatingItemAdapter();
+			}
+			@Override
+			public Adapter casePeriodical(Periodical object) {
+				return createPeriodicalAdapter();
+			}
+			@Override
+			public Adapter caseAudioVisualItem(AudioVisualItem object) {
+				return createAudioVisualItemAdapter();
+			}
+			@Override
+			public Adapter caseBookOnTape(BookOnTape object) {
+				return createBookOnTapeAdapter();
+			}
+			@Override
+			public Adapter caseVideoCassette(VideoCassette object) {
+				return createVideoCassetteAdapter();
+			}
+			@Override
+			public Adapter caseBorrower(Borrower object) {
+				return createBorrowerAdapter();
+			}
+			@Override
+			public Adapter casePerson(Person object) {
+				return createPersonAdapter();
+			}
+			@Override
+			public Adapter caseEmployee(Employee object) {
+				return createEmployeeAdapter();
+			}
+			@Override
+			public Adapter caseAddressable(Addressable object) {
+				return createAddressableAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
 
   /**
-   * Creates an adapter for the <code>target</code>.
-   * <!-- begin-user-doc -->
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @param target the object to adapt.
-   * @return the adapter for the <code>target</code>.
-   * @generated
-   */
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
   @Override
   public Adapter createAdapter(Notifier target)
   {
-    return modelSwitch.doSwitch((EObject)target);
-  }
+		return modelSwitch.doSwitch((EObject)target);
+	}
 
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Book <em>Book</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Book <em>Book</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.Book
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.Book
+	 * @generated
+	 */
   public Adapter createBookAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Library <em>Library</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Library <em>Library</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.Library
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.Library
+	 * @generated
+	 */
   public Adapter createLibraryAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Writer <em>Writer</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Writer <em>Writer</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.Writer
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.Writer
+	 * @generated
+	 */
   public Adapter createWriterAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Item <em>Item</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Item <em>Item</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.Item
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.Item
+	 * @generated
+	 */
   public Adapter createItemAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Lendable <em>Lendable</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Lendable <em>Lendable</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.Lendable
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.Lendable
+	 * @generated
+	 */
   public Adapter createLendableAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.CirculatingItem <em>Circulating Item</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.CirculatingItem <em>Circulating Item</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.CirculatingItem
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.CirculatingItem
+	 * @generated
+	 */
   public Adapter createCirculatingItemAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Periodical <em>Periodical</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Periodical <em>Periodical</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.Periodical
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.Periodical
+	 * @generated
+	 */
   public Adapter createPeriodicalAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem <em>Audio Visual Item</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.AudioVisualItem <em>Audio Visual Item</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.AudioVisualItem
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.AudioVisualItem
+	 * @generated
+	 */
   public Adapter createAudioVisualItemAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.BookOnTape <em>Book On Tape</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.BookOnTape <em>Book On Tape</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.BookOnTape
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.BookOnTape
+	 * @generated
+	 */
   public Adapter createBookOnTapeAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.VideoCassette <em>Video Cassette</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.VideoCassette <em>Video Cassette</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.VideoCassette
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.VideoCassette
+	 * @generated
+	 */
   public Adapter createVideoCassetteAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Borrower <em>Borrower</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Borrower <em>Borrower</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.Borrower
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.Borrower
+	 * @generated
+	 */
   public Adapter createBorrowerAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Person <em>Person</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Person <em>Person</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.Person
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.Person
+	 * @generated
+	 */
   public Adapter createPersonAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Employee <em>Employee</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Employee <em>Employee</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.Employee
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.Employee
+	 * @generated
+	 */
   public Adapter createEmployeeAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Addressable <em>Addressable</em>}'.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for an object of class '{@link org.eclipse.emf.parsley.examples.library.Addressable <em>Addressable</em>}'.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null so that we can easily ignore cases;
    * it's useful to ignore a case when inheritance will catch all the cases anyway.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @see org.eclipse.emf.parsley.examples.library.Addressable
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @see org.eclipse.emf.parsley.examples.library.Addressable
+	 * @generated
+	 */
   public Adapter createAddressableAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Creates a new adapter for the default case.
-   * <!-- begin-user-doc -->
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
    * This default implementation returns null.
    * <!-- end-user-doc -->
-   * @return the new adapter.
-   * @generated
-   */
+	 * @return the new adapter.
+	 * @generated
+	 */
   public Adapter createEObjectAdapter()
   {
-    return null;
-  }
+		return null;
+	}
 
 } //EXTLibraryAdapterFactory
diff --git a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/util/EXTLibrarySwitch.java b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/util/EXTLibrarySwitch.java
index a2e4580..0aba566 100644
--- a/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/util/EXTLibrarySwitch.java
+++ b/examples/org.eclipse.emf.parsley.examples.library/src/org/eclipse/emf/parsley/examples/library/util/EXTLibrarySwitch.java
@@ -18,10 +18,9 @@
 
 
 
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
 import org.eclipse.emf.parsley.examples.library.*;
 
 
@@ -39,440 +38,404 @@
  * @see org.eclipse.emf.parsley.examples.library.EXTLibraryPackage
  * @generated
  */
-public class EXTLibrarySwitch<T> {
+public class EXTLibrarySwitch<T> extends Switch<T> {
   /**
-   * The cached model package
-   * <!-- begin-user-doc -->
+	 * The cached model package
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   protected static EXTLibraryPackage modelPackage;
 
   /**
-   * Creates an instance of the switch.
-   * <!-- begin-user-doc -->
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @generated
-   */
+	 * @generated
+	 */
   public EXTLibrarySwitch()
   {
-    if (modelPackage == null)
-    {
-      modelPackage = EXTLibraryPackage.eINSTANCE;
-    }
-  }
+		if (modelPackage == null) {
+			modelPackage = EXTLibraryPackage.eINSTANCE;
+		}
+	}
 
   /**
-   * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-   * <!-- begin-user-doc -->
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+		/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
-   * @return the first non-null result returned by a <code>caseXXX</code> call.
-   * @generated
-   */
-  public T doSwitch(EObject theEObject)
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+  @Override
+		protected T doSwitch(int classifierID, EObject theEObject)
   {
-    return doSwitch(theEObject.eClass(), theEObject);
-  }
+		switch (classifierID) {
+			case EXTLibraryPackage.BOOK: {
+				Book book = (Book)theEObject;
+				T result = caseBook(book);
+				if (result == null) result = caseCirculatingItem(book);
+				if (result == null) result = caseItem(book);
+				if (result == null) result = caseLendable(book);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.LIBRARY: {
+				Library library = (Library)theEObject;
+				T result = caseLibrary(library);
+				if (result == null) result = caseAddressable(library);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.WRITER: {
+				Writer writer = (Writer)theEObject;
+				T result = caseWriter(writer);
+				if (result == null) result = casePerson(writer);
+				if (result == null) result = caseAddressable(writer);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.ITEM: {
+				Item item = (Item)theEObject;
+				T result = caseItem(item);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.LENDABLE: {
+				Lendable lendable = (Lendable)theEObject;
+				T result = caseLendable(lendable);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.CIRCULATING_ITEM: {
+				CirculatingItem circulatingItem = (CirculatingItem)theEObject;
+				T result = caseCirculatingItem(circulatingItem);
+				if (result == null) result = caseItem(circulatingItem);
+				if (result == null) result = caseLendable(circulatingItem);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.PERIODICAL: {
+				Periodical periodical = (Periodical)theEObject;
+				T result = casePeriodical(periodical);
+				if (result == null) result = caseItem(periodical);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.AUDIO_VISUAL_ITEM: {
+				AudioVisualItem audioVisualItem = (AudioVisualItem)theEObject;
+				T result = caseAudioVisualItem(audioVisualItem);
+				if (result == null) result = caseCirculatingItem(audioVisualItem);
+				if (result == null) result = caseItem(audioVisualItem);
+				if (result == null) result = caseLendable(audioVisualItem);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.BOOK_ON_TAPE: {
+				BookOnTape bookOnTape = (BookOnTape)theEObject;
+				T result = caseBookOnTape(bookOnTape);
+				if (result == null) result = caseAudioVisualItem(bookOnTape);
+				if (result == null) result = caseCirculatingItem(bookOnTape);
+				if (result == null) result = caseItem(bookOnTape);
+				if (result == null) result = caseLendable(bookOnTape);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.VIDEO_CASSETTE: {
+				VideoCassette videoCassette = (VideoCassette)theEObject;
+				T result = caseVideoCassette(videoCassette);
+				if (result == null) result = caseAudioVisualItem(videoCassette);
+				if (result == null) result = caseCirculatingItem(videoCassette);
+				if (result == null) result = caseItem(videoCassette);
+				if (result == null) result = caseLendable(videoCassette);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.BORROWER: {
+				Borrower borrower = (Borrower)theEObject;
+				T result = caseBorrower(borrower);
+				if (result == null) result = casePerson(borrower);
+				if (result == null) result = caseAddressable(borrower);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.PERSON: {
+				Person person = (Person)theEObject;
+				T result = casePerson(person);
+				if (result == null) result = caseAddressable(person);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.EMPLOYEE: {
+				Employee employee = (Employee)theEObject;
+				T result = caseEmployee(employee);
+				if (result == null) result = casePerson(employee);
+				if (result == null) result = caseAddressable(employee);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case EXTLibraryPackage.ADDRESSABLE: {
+				Addressable addressable = (Addressable)theEObject;
+				T result = caseAddressable(addressable);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
 
   /**
-   * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the first non-null result returned by a <code>caseXXX</code> call.
-   * @generated
-   */
-  protected T doSwitch(EClass theEClass, EObject theEObject)
-  {
-    if (theEClass.eContainer() == modelPackage)
-    {
-      return doSwitch(theEClass.getClassifierID(), theEObject);
-    }
-    else
-    {
-      List<EClass> eSuperTypes = theEClass.getESuperTypes();
-      return
-        eSuperTypes.isEmpty() ?
-          defaultCase(theEObject) :
-          doSwitch(eSuperTypes.get(0), theEObject);
-    }
-  }
-
-  /**
-   * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-   * <!-- begin-user-doc -->
-   * <!-- end-user-doc -->
-   * @return the first non-null result returned by a <code>caseXXX</code> call.
-   * @generated
-   */
-  protected T doSwitch(int classifierID, EObject theEObject)
-  {
-    switch (classifierID)
-    {
-      case EXTLibraryPackage.BOOK:
-      {
-        Book book = (Book)theEObject;
-        T result = caseBook(book);
-        if (result == null) result = caseCirculatingItem(book);
-        if (result == null) result = caseItem(book);
-        if (result == null) result = caseLendable(book);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.LIBRARY:
-      {
-        Library library = (Library)theEObject;
-        T result = caseLibrary(library);
-        if (result == null) result = caseAddressable(library);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.WRITER:
-      {
-        Writer writer = (Writer)theEObject;
-        T result = caseWriter(writer);
-        if (result == null) result = casePerson(writer);
-        if (result == null) result = caseAddressable(writer);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.ITEM:
-      {
-        Item item = (Item)theEObject;
-        T result = caseItem(item);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.LENDABLE:
-      {
-        Lendable lendable = (Lendable)theEObject;
-        T result = caseLendable(lendable);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.CIRCULATING_ITEM:
-      {
-        CirculatingItem circulatingItem = (CirculatingItem)theEObject;
-        T result = caseCirculatingItem(circulatingItem);
-        if (result == null) result = caseItem(circulatingItem);
-        if (result == null) result = caseLendable(circulatingItem);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.PERIODICAL:
-      {
-        Periodical periodical = (Periodical)theEObject;
-        T result = casePeriodical(periodical);
-        if (result == null) result = caseItem(periodical);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.AUDIO_VISUAL_ITEM:
-      {
-        AudioVisualItem audioVisualItem = (AudioVisualItem)theEObject;
-        T result = caseAudioVisualItem(audioVisualItem);
-        if (result == null) result = caseCirculatingItem(audioVisualItem);
-        if (result == null) result = caseItem(audioVisualItem);
-        if (result == null) result = caseLendable(audioVisualItem);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.BOOK_ON_TAPE:
-      {
-        BookOnTape bookOnTape = (BookOnTape)theEObject;
-        T result = caseBookOnTape(bookOnTape);
-        if (result == null) result = caseAudioVisualItem(bookOnTape);
-        if (result == null) result = caseCirculatingItem(bookOnTape);
-        if (result == null) result = caseItem(bookOnTape);
-        if (result == null) result = caseLendable(bookOnTape);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.VIDEO_CASSETTE:
-      {
-        VideoCassette videoCassette = (VideoCassette)theEObject;
-        T result = caseVideoCassette(videoCassette);
-        if (result == null) result = caseAudioVisualItem(videoCassette);
-        if (result == null) result = caseCirculatingItem(videoCassette);
-        if (result == null) result = caseItem(videoCassette);
-        if (result == null) result = caseLendable(videoCassette);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.BORROWER:
-      {
-        Borrower borrower = (Borrower)theEObject;
-        T result = caseBorrower(borrower);
-        if (result == null) result = casePerson(borrower);
-        if (result == null) result = caseAddressable(borrower);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.PERSON:
-      {
-        Person person = (Person)theEObject;
-        T result = casePerson(person);
-        if (result == null) result = caseAddressable(person);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.EMPLOYEE:
-      {
-        Employee employee = (Employee)theEObject;
-        T result = caseEmployee(employee);
-        if (result == null) result = casePerson(employee);
-        if (result == null) result = caseAddressable(employee);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      case EXTLibraryPackage.ADDRESSABLE:
-      {
-        Addressable addressable = (Addressable)theEObject;
-        T result = caseAddressable(addressable);
-        if (result == null) result = defaultCase(theEObject);
-        return result;
-      }
-      default: return defaultCase(theEObject);
-    }
-  }
-
-  /**
-   * Returns the result of interpreting the object as an instance of '<em>Book</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Book</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>Book</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Book</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseBook(Book object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Library</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Library</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>Library</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Library</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseLibrary(Library object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Writer</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Writer</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>Writer</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Writer</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseWriter(Writer object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Item</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Item</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>Item</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Item</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseItem(Item object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Lendable</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Lendable</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>Lendable</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Lendable</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseLendable(Lendable object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Circulating Item</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Circulating Item</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>Circulating Item</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Circulating Item</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseCirculatingItem(CirculatingItem object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Periodical</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Periodical</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>Periodical</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Periodical</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T casePeriodical(Periodical object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Audio Visual Item</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Audio Visual Item</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>Audio Visual Item</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Audio Visual Item</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseAudioVisualItem(AudioVisualItem object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Book On Tape</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Book On Tape</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>Book On Tape</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Book On Tape</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseBookOnTape(BookOnTape object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Video Cassette</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Video Cassette</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>Video Cassette</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Video Cassette</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseVideoCassette(VideoCassette object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Borrower</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Borrower</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>Borrower</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Borrower</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseBorrower(Borrower object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Person</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Person</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>Person</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Person</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T casePerson(Person object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Employee</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Employee</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>Employee</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Employee</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseEmployee(Employee object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>Addressable</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>Addressable</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>Addressable</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-   * @generated
-   */
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Addressable</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
   public T caseAddressable(Addressable object)
   {
-    return null;
-  }
+		return null;
+	}
 
   /**
-   * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
-   * <!-- begin-user-doc -->
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
    * This implementation returns null;
    * returning a non-null result will terminate the switch, but this is the last case anyway.
    * <!-- end-user-doc -->
-   * @param object the target of the switch.
-   * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
-   * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-   * @generated
-   */
-  public T defaultCase(EObject object)
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+  @Override
+		public T defaultCase(EObject object)
   {
-    return null;
-  }
+		return null;
+	}
 
 } //EXTLibrarySwitch
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.accountsview/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.mail.accountsview/META-INF/MANIFEST.MF
index 033bb68..1fa29da 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.accountsview/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.mail.accountsview/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.mail.accountsview
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.mail.accountsview;singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.examples.mail.accountsview.AccountsviewActivator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.accountsview/pom.xml b/examples/org.eclipse.emf.parsley.examples.mail.accountsview/pom.xml
index ced83d9..6b5662e 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.accountsview/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.mail.accountsview/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.mail.accountsview</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.mailsview/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.mail.mailsview/META-INF/MANIFEST.MF
index 2723ffc..9a31bea 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.mailsview/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.mail.mailsview/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.mail.mailsview
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.mail.mailsview;singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.examples.mail.mailsview.MailsviewActivator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.mailsview/pom.xml b/examples/org.eclipse.emf.parsley.examples.mail.mailsview/pom.xml
index d817813..504345a 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.mailsview/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.mail.mailsview/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.mail.mailsview</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.messageview/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.mail.messageview/META-INF/MANIFEST.MF
index 8293d34..4a7721f 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.messageview/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.mail.messageview/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.mail.messageview
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.mail.messageview;singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.examples.mail.messageview.MessageviewActivator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.messageview/pom.xml b/examples/org.eclipse.emf.parsley.examples.mail.messageview/pom.xml
index 6897391..5965407 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.messageview/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.mail.messageview/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.mail.messageview</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.model/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.mail.model/META-INF/MANIFEST.MF
index 8997869..8c9c92d 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.model/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.mail.model/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.mail.model;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.model/pom.xml b/examples/org.eclipse.emf.parsley.examples.mail.model/pom.xml
index 26313dd..40d9ca5 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.model/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.mail.model/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.mail.model</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.product.feature/feature.xml b/examples/org.eclipse.emf.parsley.examples.mail.product.feature/feature.xml
index ea1e184..80bae02 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.product.feature/feature.xml
+++ b/examples/org.eclipse.emf.parsley.examples.mail.product.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.examples.mail.product.feature"
       label="EMF Parsley Mail Product Feature"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="Rcp-Vision">
 
    <description url="http://www.eclipse.org/emfparsley">
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.product.feature/pom.xml b/examples/org.eclipse.emf.parsley.examples.mail.product.feature/pom.xml
index 6c8c97a..3bae4bc 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.product.feature/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.mail.product.feature/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.mail.product.feature</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.rcp/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.mail.rcp/META-INF/MANIFEST.MF
index 7578e07..9f3e3b9 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.rcp/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.mail.rcp/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Mail Example Rcp
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.mail.rcp;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.examples.mail.rcp.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
diff --git a/examples/org.eclipse.emf.parsley.examples.mail.rcp/pom.xml b/examples/org.eclipse.emf.parsley.examples.mail.rcp/pom.xml
index 6cf0421..2a0cb95 100644
--- a/examples/org.eclipse.emf.parsley.examples.mail.rcp/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.mail.rcp/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.mail.rcp</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.maven/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.maven/META-INF/MANIFEST.MF
index 3b41318..3839285 100644
--- a/examples/org.eclipse.emf.parsley.examples.maven/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.maven/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.examples.maven
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.maven; singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.examples.maven.MavenActivator
 Bundle-ActivationPolicy: lazy
diff --git a/examples/org.eclipse.emf.parsley.examples.maven/pom.xml b/examples/org.eclipse.emf.parsley.examples.maven/pom.xml
index 6b54964..b499f5d 100644
--- a/examples/org.eclipse.emf.parsley.examples.maven/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.maven/pom.xml
@@ -3,7 +3,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.eclipse.emf.parsley</groupId>
 	<artifactId>org.eclipse.emf.parsley.examples.maven</artifactId>
-	<version>1.1.0-SNAPSHOT</version>
+	<version>1.2.0-SNAPSHOT</version>
 
 	<packaging>eclipse-test-plugin</packaging>
 
diff --git a/examples/org.eclipse.emf.parsley.examples.rap.model/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.rap.model/META-INF/MANIFEST.MF
index d7a256f..65c1ceb 100644
--- a/examples/org.eclipse.emf.parsley.examples.rap.model/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.rap.model/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.rap.model;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/examples/org.eclipse.emf.parsley.examples.rap.model/pom.xml b/examples/org.eclipse.emf.parsley.examples.rap.model/pom.xml
index a397e9d..6da19b2 100644
--- a/examples/org.eclipse.emf.parsley.examples.rap.model/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.rap.model/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.rap.model</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.rap.targetplatform/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.rap.targetplatform/META-INF/MANIFEST.MF
index 09b66c8..b786191 100644
--- a/examples/org.eclipse.emf.parsley.examples.rap.targetplatform/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.rap.targetplatform/META-INF/MANIFEST.MF
@@ -2,5 +2,5 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Targetplatform for EMF Parsley RAP Examples
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.rap.targetplatform
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: EMF Modeling Project
diff --git a/examples/org.eclipse.emf.parsley.examples.rap.ui/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.rap.ui/META-INF/MANIFEST.MF
index 3090f6d..de19835 100644
--- a/examples/org.eclipse.emf.parsley.examples.rap.ui/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.rap.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley RAP Example Ui
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.rap.ui;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.examples.rap.ui.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.emf.parsley.examples.rap.model,
diff --git a/examples/org.eclipse.emf.parsley.examples.rap.ui/pom.xml b/examples/org.eclipse.emf.parsley.examples.rap.ui/pom.xml
index 624aa14..5489d44 100644
--- a/examples/org.eclipse.emf.parsley.examples.rap.ui/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.rap.ui/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.rap.ui</artifactId>
diff --git a/examples/org.eclipse.emf.parsley.examples.views/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.views/META-INF/MANIFEST.MF
index cffd75d..51d45ba 100644
--- a/examples/org.eclipse.emf.parsley.examples.views/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.views/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Views Examples
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.views;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.examples.views.EmfParsleyExamplesViewsActivator
 Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
  org.eclipse.core.runtime;bundle-version="3.5.0",
diff --git a/examples/org.eclipse.emf.parsley.examples.views/pom.xml b/examples/org.eclipse.emf.parsley.examples.views/pom.xml
index 798801d..ad85df6 100644
--- a/examples/org.eclipse.emf.parsley.examples.views/pom.xml
+++ b/examples/org.eclipse.emf.parsley.examples.views/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.views</artifactId>
diff --git a/features/org.eclipse.emf.parsley.cdo.feature/feature.xml b/features/org.eclipse.emf.parsley.cdo.feature/feature.xml
index f2ba395..6eb1e3b 100644
--- a/features/org.eclipse.emf.parsley.cdo.feature/feature.xml
+++ b/features/org.eclipse.emf.parsley.cdo.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.cdo.feature"
       label="EMF Parsley CDO"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.parsley.cdo.common">
 
diff --git a/features/org.eclipse.emf.parsley.cdo.feature/pom.xml b/features/org.eclipse.emf.parsley.cdo.feature/pom.xml
index 3a9fdc4..17a3c78 100644
--- a/features/org.eclipse.emf.parsley.cdo.feature/pom.xml
+++ b/features/org.eclipse.emf.parsley.cdo.feature/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.cdo.feature</artifactId>
diff --git a/features/org.eclipse.emf.parsley.dsl.feature/feature.xml b/features/org.eclipse.emf.parsley.dsl.feature/feature.xml
index 234c5b1..d404858 100644
--- a/features/org.eclipse.emf.parsley.dsl.feature/feature.xml
+++ b/features/org.eclipse.emf.parsley.dsl.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.dsl.feature"
       label="EMF Parsley DSL"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.parsley.dsl">
 
@@ -23,8 +23,8 @@
    </license>
 
    <requires>
-      <import feature="org.eclipse.xtext.xbase" version="2.10.0" match="compatible"/>
-      <import feature="org.eclipse.xtext.ui" version="2.10.0" match="compatible"/>
+      <import feature="org.eclipse.xtext.xbase" version="2.10.0" match="equivalent"/>
+      <import feature="org.eclipse.xtext.ui" version="2.10.0" match="equivalent"/>
    </requires>
 
    <plugin
diff --git a/features/org.eclipse.emf.parsley.dsl.feature/pom.xml b/features/org.eclipse.emf.parsley.dsl.feature/pom.xml
index 6675843..6ebaa51 100644
--- a/features/org.eclipse.emf.parsley.dsl.feature/pom.xml
+++ b/features/org.eclipse.emf.parsley.dsl.feature/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.dsl.feature</artifactId>
diff --git a/features/org.eclipse.emf.parsley.examples.feature/feature.xml b/features/org.eclipse.emf.parsley.examples.feature/feature.xml
index 0ba743d..2fb5b0d 100644
--- a/features/org.eclipse.emf.parsley.examples.feature/feature.xml
+++ b/features/org.eclipse.emf.parsley.examples.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.examples.feature"
       label="EMF Parsley Examples"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.parsley.ui.examples">
 
diff --git a/features/org.eclipse.emf.parsley.examples.feature/pom.xml b/features/org.eclipse.emf.parsley.examples.feature/pom.xml
index c5ed59d..a5b1f8d 100644
--- a/features/org.eclipse.emf.parsley.examples.feature/pom.xml
+++ b/features/org.eclipse.emf.parsley.examples.feature/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.examples.feature</artifactId>
diff --git a/features/org.eclipse.emf.parsley.examples.rap.feature/feature.xml b/features/org.eclipse.emf.parsley.examples.rap.feature/feature.xml
index 4a5f491..00bfcba 100644
--- a/features/org.eclipse.emf.parsley.examples.rap.feature/feature.xml
+++ b/features/org.eclipse.emf.parsley.examples.rap.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.examples.rap.feature"
       label="EMF Parsley RAP Example Feature"
-      version="1.1.0.qualifier">
+      version="1.2.0.qualifier">
 
    <description url="http://www.eclipse.org/emf-parsley">
       EMF Parsley RAP Example Feature
diff --git a/features/org.eclipse.emf.parsley.feature/feature.xml b/features/org.eclipse.emf.parsley.feature/feature.xml
index 29cb074..ce33d05 100644
--- a/features/org.eclipse.emf.parsley.feature/feature.xml
+++ b/features/org.eclipse.emf.parsley.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.feature"
       label="EMF Parsley"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.parsley.common">
 
diff --git a/features/org.eclipse.emf.parsley.feature/pom.xml b/features/org.eclipse.emf.parsley.feature/pom.xml
index 148b99b..66d9617 100644
--- a/features/org.eclipse.emf.parsley.feature/pom.xml
+++ b/features/org.eclipse.emf.parsley.feature/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.feature</artifactId>
diff --git a/features/org.eclipse.emf.parsley.junit4.feature/feature.xml b/features/org.eclipse.emf.parsley.junit4.feature/feature.xml
index 96bbcb9..81dd2c7 100644
--- a/features/org.eclipse.emf.parsley.junit4.feature/feature.xml
+++ b/features/org.eclipse.emf.parsley.junit4.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.junit4.feature"
       label="EMF Parsley Junit4 Support"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="%providerName">
 
    <description url="http://www.eclipse.org/emfparsley">
diff --git a/features/org.eclipse.emf.parsley.junit4.feature/pom.xml b/features/org.eclipse.emf.parsley.junit4.feature/pom.xml
index a96ba47..12749b7 100644
--- a/features/org.eclipse.emf.parsley.junit4.feature/pom.xml
+++ b/features/org.eclipse.emf.parsley.junit4.feature/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.junit4.feature</artifactId>
diff --git a/features/org.eclipse.emf.parsley.rap.cdo.sdk/feature.xml b/features/org.eclipse.emf.parsley.rap.cdo.sdk/feature.xml
index 7ee5e1e..77130ad 100644
--- a/features/org.eclipse.emf.parsley.rap.cdo.sdk/feature.xml
+++ b/features/org.eclipse.emf.parsley.rap.cdo.sdk/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.rap.cdo.sdk"
       label="EMF Parsley CDO RAP SDK"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.parsley.cdo.common">
 
diff --git a/features/org.eclipse.emf.parsley.rap.cdo.sdk/pom.xml b/features/org.eclipse.emf.parsley.rap.cdo.sdk/pom.xml
index fc4584a..7a21713 100644
--- a/features/org.eclipse.emf.parsley.rap.cdo.sdk/pom.xml
+++ b/features/org.eclipse.emf.parsley.rap.cdo.sdk/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.rap.cdo.sdk</artifactId>
diff --git a/features/org.eclipse.emf.parsley.rap.sdk/feature.xml b/features/org.eclipse.emf.parsley.rap.sdk/feature.xml
index bcf5afc..2e65fd7 100644
--- a/features/org.eclipse.emf.parsley.rap.sdk/feature.xml
+++ b/features/org.eclipse.emf.parsley.rap.sdk/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.rap.sdk"
       label="EMF Parsley RAP SDK"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.parsley.common">
 
diff --git a/features/org.eclipse.emf.parsley.rap.sdk/pom.xml b/features/org.eclipse.emf.parsley.rap.sdk/pom.xml
index 1df1d18..94b07a2 100644
--- a/features/org.eclipse.emf.parsley.rap.sdk/pom.xml
+++ b/features/org.eclipse.emf.parsley.rap.sdk/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.rap.sdk</artifactId>
diff --git a/features/org.eclipse.emf.parsley.sdk/feature.xml b/features/org.eclipse.emf.parsley.sdk/feature.xml
index 1468175..d64a22d 100644
--- a/features/org.eclipse.emf.parsley.sdk/feature.xml
+++ b/features/org.eclipse.emf.parsley.sdk/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.sdk"
       label="EMF Parsley SDK"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.parsley.common">
 
diff --git a/features/org.eclipse.emf.parsley.sdk/pom.xml b/features/org.eclipse.emf.parsley.sdk/pom.xml
index b9e7436..0e556eb 100644
--- a/features/org.eclipse.emf.parsley.sdk/pom.xml
+++ b/features/org.eclipse.emf.parsley.sdk/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.sdk</artifactId>
diff --git a/features/org.eclipse.emf.parsley.web.feature/feature.xml b/features/org.eclipse.emf.parsley.web.feature/feature.xml
index 8188c94..855ff38 100644
--- a/features/org.eclipse.emf.parsley.web.feature/feature.xml
+++ b/features/org.eclipse.emf.parsley.web.feature/feature.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <feature
       id="org.eclipse.emf.parsley.web.feature"
-      label="Emf Parsley Web Feature"
-      version="1.1.0.qualifier"
+      label="EMF Parsley Web Feature"
+      version="1.2.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.emf.parsley.common">
 
diff --git a/features/org.eclipse.emf.parsley.web.feature/pom.xml b/features/org.eclipse.emf.parsley.web.feature/pom.xml
index 6ce602f..a995298 100644
--- a/features/org.eclipse.emf.parsley.web.feature/pom.xml
+++ b/features/org.eclipse.emf.parsley.web.feature/pom.xml
@@ -6,7 +6,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.web.feature</artifactId>
diff --git a/old/org.eclipse.emf.parsley.examples.mail.product.site/feature.xml b/old/org.eclipse.emf.parsley.examples.mail.product.site/feature.xml
index 263fca8..c71d784 100644
--- a/old/org.eclipse.emf.parsley.examples.mail.product.site/feature.xml
+++ b/old/org.eclipse.emf.parsley.examples.mail.product.site/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.examples.mail.product.site"
       label="Emf Parsley Mail Example Product Site"
-      version="1.1.0.qualifier">
+      version="1.2.0.qualifier">
 
    <description url="http://www.eclipse.org/emfparsley">
       Emf Parsley Mail Example Product Site
diff --git a/old/org.eclipse.emf.parsley.rap.site/feature.xml b/old/org.eclipse.emf.parsley.rap.site/feature.xml
index a1cbd04..9625ff7 100644
--- a/old/org.eclipse.emf.parsley.rap.site/feature.xml
+++ b/old/org.eclipse.emf.parsley.rap.site/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.rap.site"
       label="Emf Parsley RAP Site"
-      version="1.1.0.qualifier">
+      version="1.2.0.qualifier">
 
    <description url="http://code.google.com/a/eclipselabs.org/p/emf-components/">
       Working with EMF a developer realizes that all the information are available for building basic UI.
diff --git a/old/org.eclipse.emf.parsley.site/feature.xml b/old/org.eclipse.emf.parsley.site/feature.xml
index b0dc39e..719ce7f 100644
--- a/old/org.eclipse.emf.parsley.site/feature.xml
+++ b/old/org.eclipse.emf.parsley.site/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.site"
       label="Emf Parsley Site"
-      version="1.1.0.qualifier"
+      version="1.2.0.qualifier"
       provider-name="RCP Vision">
 
    <description url="http://www.eclipse.org/emfparsley">
diff --git a/plugins/org.eclipse.emf.parsley.cdo.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.cdo.common/META-INF/MANIFEST.MF
index 471228a..609dccd 100644
--- a/plugins/org.eclipse.emf.parsley.cdo.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.cdo.common/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley CDO Common
 Bundle-SymbolicName: org.eclipse.emf.parsley.cdo.common
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.cdo.EmfParsleyCDOActivator
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0",
  org.eclipse.emf.cdo.net4j;bundle-version="3.0.1",
diff --git a/plugins/org.eclipse.emf.parsley.cdo.common/pom.xml b/plugins/org.eclipse.emf.parsley.cdo.common/pom.xml
index 4dd0ec5..d938331 100644
--- a/plugins/org.eclipse.emf.parsley.cdo.common/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.cdo.common/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.cdo.common</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.cdo/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.cdo/META-INF/MANIFEST.MF
index 54930c2..56073a5 100644
--- a/plugins/org.eclipse.emf.parsley.cdo/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.cdo/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley CDO
 Bundle-SymbolicName: org.eclipse.emf.parsley.cdo;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.cdo.EmfParsleyCDOActivator
 Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
  org.eclipse.emf.parsley.cdo.common;visibility:=reexport
diff --git a/plugins/org.eclipse.emf.parsley.cdo/pom.xml b/plugins/org.eclipse.emf.parsley.cdo/pom.xml
index c151f0f..16435c3 100644
--- a/plugins/org.eclipse.emf.parsley.cdo/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.cdo/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.cdo</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.common/META-INF/MANIFEST.MF
index d7eea90..d54940e 100644
--- a/plugins/org.eclipse.emf.parsley.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.common/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Common
 Bundle-SymbolicName: org.eclipse.emf.parsley.common;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.EmfParsleyActivator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.emf.databinding.edit;bundle-version="1.2.0";visibility:=reexport,
diff --git a/plugins/org.eclipse.emf.parsley.common/pom.xml b/plugins/org.eclipse.emf.parsley.common/pom.xml
index fe6eb6f..111f158 100644
--- a/plugins/org.eclipse.emf.parsley.common/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.common/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.common</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.editors.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.editors.common/META-INF/MANIFEST.MF
index 214064a..a1aa6d0 100644
--- a/plugins/org.eclipse.emf.parsley.editors.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.editors.common/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Components Editors Common
 Bundle-SymbolicName: org.eclipse.emf.parsley.editors.common;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.editors.EmfParsleyEditorsActivator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0",
diff --git a/plugins/org.eclipse.emf.parsley.editors.common/pom.xml b/plugins/org.eclipse.emf.parsley.editors.common/pom.xml
index 15a40c5..85217c6 100644
--- a/plugins/org.eclipse.emf.parsley.editors.common/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.editors.common/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.editors.common</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.editors.common/src/org/eclipse/emf/parsley/editors/EmfAbstractEditor.java b/plugins/org.eclipse.emf.parsley.editors.common/src/org/eclipse/emf/parsley/editors/EmfAbstractEditor.java
index beea7a7..534ab85 100644
--- a/plugins/org.eclipse.emf.parsley.editors.common/src/org/eclipse/emf/parsley/editors/EmfAbstractEditor.java
+++ b/plugins/org.eclipse.emf.parsley.editors.common/src/org/eclipse/emf/parsley/editors/EmfAbstractEditor.java
@@ -23,6 +23,7 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -139,7 +140,7 @@
 	 * 
 	 * @generated
 	 */
-	protected PropertySheetPage propertySheetPage;
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
 
 	/**
 	 * This is the viewer that shadows the selection in the content outline. The
@@ -190,7 +191,7 @@
 					getActionBarContributor().setActiveEditor(EmfAbstractEditor.this);
 				}
 			} else if (p instanceof PropertySheet) {
-				if (((PropertySheet) p).getCurrentPage() == propertySheetPage) {
+				if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
 					getActionBarContributor().setActiveEditor(EmfAbstractEditor.this);
 					handleActivate();
 				}
@@ -498,8 +499,13 @@
 		if (mostRecentCommand != null) {
 			setSelectionToViewer(mostRecentCommand.getAffectedObjects());
 		}
-		if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
-			propertySheetPage.refresh();
+		for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext();) {
+			PropertySheetPage propertySheetPage = i.next();
+			if (propertySheetPage.getControl().isDisposed()) {
+				i.remove();
+			} else {
+				propertySheetPage.refresh();
+			}
 		}
 	}
 
@@ -702,25 +708,21 @@
 	 * @generated
 	 */
 	public IPropertySheetPage getPropertySheetPage() {
-		if (propertySheetPage == null) {
-			propertySheetPage = new ExtendedPropertySheetPage(editingDomain) {
-				@Override
-				public void setSelectionToViewer(List<?> selection) {
-					EmfAbstractEditor.this.setSelectionToViewer(selection);
-					EmfAbstractEditor.this.setFocus();
-				}
+		PropertySheetPage propertySheetPage = new ExtendedPropertySheetPage(editingDomain) {
+			@Override
+			public void setSelectionToViewer(List<?> selection) {
+				EmfAbstractEditor.this.setSelectionToViewer(selection);
+				EmfAbstractEditor.this.setFocus();
+			}
 
-				@Override
-				public void setActionBars(IActionBars actionBars) {
-					super.setActionBars(actionBars);
-					getActionBarContributor().shareGlobalActions(this,
-							actionBars);
-				}
-			};
-			propertySheetPage
-					.setPropertySourceProvider(new AdapterFactoryContentProvider(
-							adapterFactory));
-		}
+			@Override
+			public void setActionBars(IActionBars actionBars) {
+				super.setActionBars(actionBars);
+				getActionBarContributor().shareGlobalActions(this, actionBars);
+			}
+		};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
 
 		return propertySheetPage;
 	}
@@ -1079,7 +1081,7 @@
 			getActionBarContributor().setActiveEditor(null);
 		}
 
-		if (propertySheetPage != null) {
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
 			propertySheetPage.dispose();
 		}
 
diff --git a/plugins/org.eclipse.emf.parsley.editors/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.editors/META-INF/MANIFEST.MF
index a4522d7..6b94d4d 100644
--- a/plugins/org.eclipse.emf.parsley.editors/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.editors/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Editors
 Bundle-SymbolicName: org.eclipse.emf.parsley.editors;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.editors.EmfParsleyEditorsActivator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
diff --git a/plugins/org.eclipse.emf.parsley.editors/pom.xml b/plugins/org.eclipse.emf.parsley.editors/pom.xml
index ab2f86b..6fad369 100644
--- a/plugins/org.eclipse.emf.parsley.editors/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.editors/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.editors</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.generator.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.generator.common/META-INF/MANIFEST.MF
index 79e5591..3544328 100644
--- a/plugins/org.eclipse.emf.parsley.generator.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.generator.common/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Generator Common Utilities
 Bundle-SymbolicName: org.eclipse.emf.parsley.generator.common;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0",
  org.eclipse.xtext.xbase.lib,
  org.objectweb.asm;bundle-version="5.0.1"
diff --git a/plugins/org.eclipse.emf.parsley.generator.common/pom.xml b/plugins/org.eclipse.emf.parsley.generator.common/pom.xml
index 8356a99..a2ea45d 100644
--- a/plugins/org.eclipse.emf.parsley.generator.common/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.generator.common/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.generator.common</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.junit4/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.junit4/META-INF/MANIFEST.MF
index cbdf1bd..e52231d 100644
--- a/plugins/org.eclipse.emf.parsley.junit4/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.junit4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Junit4 Support
 Bundle-SymbolicName: org.eclipse.emf.parsley.junit4
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Export-Package: org.eclipse.emf.parsley.junit4,
diff --git a/plugins/org.eclipse.emf.parsley.junit4/pom.xml b/plugins/org.eclipse.emf.parsley.junit4/pom.xml
index 88eb0f6..3cf0668 100644
--- a/plugins/org.eclipse.emf.parsley.junit4/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.junit4/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.junit4</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.rap.cdo/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.rap.cdo/META-INF/MANIFEST.MF
index 19d0602..117816a 100644
--- a/plugins/org.eclipse.emf.parsley.rap.cdo/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.rap.cdo/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley RAP CDO
 Bundle-SymbolicName: org.eclipse.emf.parsley.rap.cdo;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.cdo.EmfParsleyCDOActivator
 Require-Bundle: org.eclipse.emf.parsley.cdo.common;visibility:=reexport,
  org.eclipse.rap.ui
diff --git a/plugins/org.eclipse.emf.parsley.rap.cdo/pom.xml b/plugins/org.eclipse.emf.parsley.rap.cdo/pom.xml
index 76dc84d..728007b 100644
--- a/plugins/org.eclipse.emf.parsley.rap.cdo/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.rap.cdo/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.rap.cdo</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.rap.runtime/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.rap.runtime/META-INF/MANIFEST.MF
index 6ae2274..ee40390 100644
--- a/plugins/org.eclipse.emf.parsley.rap.runtime/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.rap.runtime/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley RAP Runtime Functionalities
 Bundle-SymbolicName: org.eclipse.emf.parsley.rap.runtime
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.eclipse.emf.parsley.runtime.common;visibility:=reexport,
  org.eclipse.rap.ui
diff --git a/plugins/org.eclipse.emf.parsley.rap.runtime/pom.xml b/plugins/org.eclipse.emf.parsley.rap.runtime/pom.xml
index e8baff9..5ca4625 100644
--- a/plugins/org.eclipse.emf.parsley.rap.runtime/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.rap.runtime/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.rap.runtime</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.rap.views/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.rap.views/META-INF/MANIFEST.MF
index 91da397..7dad464 100644
--- a/plugins/org.eclipse.emf.parsley.rap.views/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.rap.views/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley RAP Views
 Bundle-SymbolicName: org.eclipse.emf.parsley.rap.views;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.views.EmfParsleyViewsActivator
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0";visibility:=reexport,
  org.eclipse.emf.parsley.views.common;visibility:=reexport,
diff --git a/plugins/org.eclipse.emf.parsley.rap.views/pom.xml b/plugins/org.eclipse.emf.parsley.rap.views/pom.xml
index eabe701..5b02029 100644
--- a/plugins/org.eclipse.emf.parsley.rap.views/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.rap.views/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.rap.views</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.rap/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.rap/META-INF/MANIFEST.MF
index c72b4cc..f2a0fb4 100644
--- a/plugins/org.eclipse.emf.parsley.rap/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.rap/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley
 Bundle-SymbolicName: org.eclipse.emf.parsley.rap
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.EmfParsleyActivator
 Require-Bundle: org.eclipse.emf.databinding.edit;bundle-version="1.2.0";visibility:=reexport,
  org.eclipse.core.databinding.property;bundle-version="1.4.0",
diff --git a/plugins/org.eclipse.emf.parsley.rap/pom.xml b/plugins/org.eclipse.emf.parsley.rap/pom.xml
index 8680dde..c5a2923 100644
--- a/plugins/org.eclipse.emf.parsley.rap/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.rap/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.rap</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.runtime.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.runtime.common/META-INF/MANIFEST.MF
index 4b08f72..598aca4 100644
--- a/plugins/org.eclipse.emf.parsley.runtime.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.runtime.common/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Runtime Functionalities
 Bundle-SymbolicName: org.eclipse.emf.parsley.runtime.common
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: com.google.inject;visibility:=reexport,
diff --git a/plugins/org.eclipse.emf.parsley.runtime.common/pom.xml b/plugins/org.eclipse.emf.parsley.runtime.common/pom.xml
index ee770ba..9de8699 100644
--- a/plugins/org.eclipse.emf.parsley.runtime.common/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.runtime.common/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.runtime.common</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.runtime.common/src/org/eclipse/emf/parsley/runtime/util/PolymorphicDispatcher.java b/plugins/org.eclipse.emf.parsley.runtime.common/src/org/eclipse/emf/parsley/runtime/util/PolymorphicDispatcher.java
index 10ce1af..30a7197 100644
--- a/plugins/org.eclipse.emf.parsley.runtime.common/src/org/eclipse/emf/parsley/runtime/util/PolymorphicDispatcher.java
+++ b/plugins/org.eclipse.emf.parsley.runtime.common/src/org/eclipse/emf/parsley/runtime/util/PolymorphicDispatcher.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2013 itemis AG (http://www.itemis.eu) and others.
+ * Copyright (c) 2008, 2013, 2017 itemis AG (http://www.itemis.eu) 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
@@ -8,17 +8,18 @@
  * Contributors:
  * itemis AG - Initial contribution and API
  * Francesco Guidieri - additional error handlers
+ * Lorenzo Bettini - https://bugs.eclipse.org/bugs/show_bug.cgi?id=512441
  *******************************************************************************/
 package org.eclipse.emf.parsley.runtime.util;
 
-import static org.eclipse.emf.parsley.runtime.util.ReflectionUtil.*;
+import static org.eclipse.emf.parsley.runtime.util.ReflectionUtil.getObjectType;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
 
@@ -30,6 +31,7 @@
 /**
  * @author Sven Efftinge - Initial contribution and API
  * @author Francesco Guidieri - additional error handlers
+ * @author Lorenzo Bettini - https://bugs.eclipse.org/bugs/show_bug.cgi?id=512441
  */
 public class PolymorphicDispatcher<RT> {
 
@@ -38,7 +40,7 @@
 	private final List<? extends Object> targets;
 	private final Predicate<Method> methodFilter;
 
-	private List<MethodDesc> declaredMethodsOrderedBySpecificParameterType;
+	private Collection<MethodDesc> methods;
 
 	public static class DefaultErrorHandler<RT> implements ErrorHandler<RT> {
 		@Override
@@ -168,7 +170,7 @@
 		this.targets = targets;
 		this.methodFilter = methodFilter;
 		this.handler = handler;
-		declaredMethodsOrderedBySpecificParameterType = getDeclaredMethodsOrderedBySpecificParameterType();
+		methods = getCandidateMethods();
 	}
 
 	protected class MethodDesc {
@@ -215,19 +217,19 @@
 	}
 
 	protected int compare(MethodDesc o1, MethodDesc o2) {
-		final List<Class<?>> paramTypes1 = Arrays.asList(o1.getParameterTypes());
-		final List<Class<?>> paramTypes2 = Arrays.asList(o2.getParameterTypes());
+		final Class<?>[] paramTypes1 = o1.getParameterTypes();
+		final Class<?>[] paramTypes2 = o2.getParameterTypes();
 
 		// sort by number of parameters
-		if (paramTypes1.size() > paramTypes2.size())
+		if (paramTypes1.length > paramTypes2.length)
 			return 1;
-		if (paramTypes2.size() > paramTypes1.size())
+		if (paramTypes2.length > paramTypes1.length)
 			return -1;
 
 		// sort by parameter types from left to right
-		for (int i = 0; i < paramTypes1.size(); i++) {
-			final Class<?> class1 = paramTypes1.get(i);
-			final Class<?> class2 = paramTypes2.get(i);
+		for (int i = 0; i < paramTypes1.length; i++) {
+			final Class<?> class1 = paramTypes1[i];
+			final Class<?> class2 = paramTypes2[i];
 
 			if (class1.equals(class2))
 				continue;
@@ -255,21 +257,27 @@
 			new Function<List<Class<?>>, List<MethodDesc>>() {
 				@Override
 				public List<MethodDesc> apply(List<Class<?>> paramTypes) {
+					// 'result' contains all best-matched MethodDesc for which 
+					// pairwise compare(m1, m2) == 0, meaning they're equal or unrelated. 
 					List<MethodDesc> result = new ArrayList<MethodDesc>();
-					Iterator<MethodDesc> iterator = declaredMethodsOrderedBySpecificParameterType.iterator();
-					while (iterator.hasNext()) {
+					Iterator<MethodDesc> iterator = methods.iterator();
+					NEXT: while (iterator.hasNext()) {
 						MethodDesc methodDesc = iterator.next();
 						if (methodDesc.isInvokeable(paramTypes)) {
 							if (result.isEmpty()) {
 								result.add(methodDesc);
 							} else {
-								int compare = compare(result.get(0), methodDesc);
-								if (compare < 0) {
-									result.clear();
-									result.add(methodDesc);
-								} else if (compare == 0) {
-									result.add(methodDesc);
+								Iterator<MethodDesc> it = result.iterator();
+								while(it.hasNext()) {
+									MethodDesc next = it.next();
+									int compare = compare(next, methodDesc);
+									if (compare < 0) {
+										it.remove();
+									} else if (compare > 0) {
+										continue NEXT;
+									}
 								}
+								result.add(methodDesc);
 							}
 						}
 					}
@@ -340,8 +348,8 @@
 		return Void.class;
 	}
 
-	private List<MethodDesc> getDeclaredMethodsOrderedBySpecificParameterType() {
-		ArrayList<MethodDesc> cachedDescriptors = new ArrayList<MethodDesc>();
+	private Collection<MethodDesc> getCandidateMethods() {
+		Collection<MethodDesc> cachedDescriptors = new ArrayList<MethodDesc>();
 		for (Object target : targets) {
 			Class<?> current = target.getClass();
 			while (current != Object.class) {
@@ -354,15 +362,9 @@
 				current = current.getSuperclass();
 			}
 		}
-		Collections.sort(cachedDescriptors, new Comparator<MethodDesc>() {
-			@Override
-			public int compare(MethodDesc o1, MethodDesc o2) {
-				return PolymorphicDispatcher.this.compare(o1, o2);
-			}
-		});
 		return cachedDescriptors;
 	}
-	
+
 	protected MethodDesc createMethodDesc(Object target, Method method) {
 		return new MethodDesc(target, method);
 	}
diff --git a/plugins/org.eclipse.emf.parsley.runtime/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.runtime/META-INF/MANIFEST.MF
index cf7fca1..a0352b1 100644
--- a/plugins/org.eclipse.emf.parsley.runtime/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.runtime/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Runtime Functionalities
 Bundle-SymbolicName: org.eclipse.emf.parsley.runtime
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: com.google.inject;visibility:=reexport,
diff --git a/plugins/org.eclipse.emf.parsley.runtime/pom.xml b/plugins/org.eclipse.emf.parsley.runtime/pom.xml
index 53ef1b9..5ef531e 100644
--- a/plugins/org.eclipse.emf.parsley.runtime/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.runtime/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.runtime</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.ui.examples/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.ui.examples/META-INF/MANIFEST.MF
index d6ad784..0e492c2 100644
--- a/plugins/org.eclipse.emf.parsley.ui.examples/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.ui.examples/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Examples
 Bundle-SymbolicName: org.eclipse.emf.parsley.ui.examples;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
diff --git a/plugins/org.eclipse.emf.parsley.ui.examples/pom.xml b/plugins/org.eclipse.emf.parsley.ui.examples/pom.xml
index ff6adb9..0917580 100644
--- a/plugins/org.eclipse.emf.parsley.ui.examples/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.ui.examples/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.ui.examples</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.views.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.views.common/META-INF/MANIFEST.MF
index 37efed1..c5890f4 100644
--- a/plugins/org.eclipse.emf.parsley.views.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.views.common/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Views Common
 Bundle-SymbolicName: org.eclipse.emf.parsley.views.common
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.views.EmfParsleyViewsActivator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0",
diff --git a/plugins/org.eclipse.emf.parsley.views.common/pom.xml b/plugins/org.eclipse.emf.parsley.views.common/pom.xml
index d1d430d..679e8a9 100644
--- a/plugins/org.eclipse.emf.parsley.views.common/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.views.common/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.views.common</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.views/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.views/META-INF/MANIFEST.MF
index b5b07b7..c02df15 100644
--- a/plugins/org.eclipse.emf.parsley.views/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.views/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Views
 Bundle-SymbolicName: org.eclipse.emf.parsley.views;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.views.EmfParsleyViewsActivator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0",
diff --git a/plugins/org.eclipse.emf.parsley.views/pom.xml b/plugins/org.eclipse.emf.parsley.views/pom.xml
index 0679cc0..6fb95e7 100644
--- a/plugins/org.eclipse.emf.parsley.views/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.views/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.views</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.web.servlets/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.web.servlets/META-INF/MANIFEST.MF
index a548eea..dc65202 100644
--- a/plugins/org.eclipse.emf.parsley.web.servlets/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.web.servlets/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Servlets
 Bundle-SymbolicName: org.eclipse.emf.parsley.web.servlets;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Export-Package: org.eclipse.emf.parsley.web.servlets
 Require-Bundle:  com.google.inject,
  org.eclipse.emf.parsley.runtime,
diff --git a/plugins/org.eclipse.emf.parsley.web.servlets/pom.xml b/plugins/org.eclipse.emf.parsley.web.servlets/pom.xml
index 5d1e4d9..945353c 100644
--- a/plugins/org.eclipse.emf.parsley.web.servlets/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.web.servlets/pom.xml
@@ -5,7 +5,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 	
   <artifactId>org.eclipse.emf.parsley.web.servlets</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.web.tools/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.web.tools/META-INF/MANIFEST.MF
index 9f41b55..ff941e2 100644
--- a/plugins/org.eclipse.emf.parsley.web.tools/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.web.tools/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Web
 Bundle-SymbolicName: org.eclipse.emf.parsley.web.tools;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.web.tools.Activator
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.resources,
@@ -29,7 +29,8 @@
  org.eclipse.wst.common.core,
  org.eclipse.jem.util,
  org.eclipse.wst.server.http.core,
- org.eclipse.emf.parsley.dsl.additional.builder
+ org.eclipse.emf.parsley.dsl.additional.builder,
+ org.eclipse.emf.parsley.wizards
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
 Import-Package: org.apache.log4j
diff --git a/plugins/org.eclipse.emf.parsley.web.tools/pom.xml b/plugins/org.eclipse.emf.parsley.web.tools/pom.xml
index d158b11..7aba87c 100644
--- a/plugins/org.eclipse.emf.parsley.web.tools/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.web.tools/pom.xml
@@ -5,7 +5,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 	
   <artifactId>org.eclipse.emf.parsley.web.tools</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.web.tools/src/org/eclipse/emf/parsley/web/tools/ParsleyWebFacetInstallDelegate.java b/plugins/org.eclipse.emf.parsley.web.tools/src/org/eclipse/emf/parsley/web/tools/ParsleyWebFacetInstallDelegate.java
index f468992..122d425 100644
--- a/plugins/org.eclipse.emf.parsley.web.tools/src/org/eclipse/emf/parsley/web/tools/ParsleyWebFacetInstallDelegate.java
+++ b/plugins/org.eclipse.emf.parsley.web.tools/src/org/eclipse/emf/parsley/web/tools/ParsleyWebFacetInstallDelegate.java
@@ -31,6 +31,7 @@
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.parsley.dsl.additional.builder.builder.EmfParsleyDslPluginXmlNature;
 import org.eclipse.emf.parsley.web.tools.ParsleyWebFacetInstallConfig.PERSISTENCE_OPTION;
+import org.eclipse.emf.parsley.wizards.NewEmfParsleyProjectSupport;
 import org.eclipse.jdt.core.IPackageFragment;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jface.dialogs.MessageDialog;
@@ -90,13 +91,13 @@
 		addProjectNature(iProject, monitor, "org.eclipse.m2e.core.maven2Nature"); 
 
 		Properties replaceStrings;
-		String projectName = iProject.getName();
+		String mainPackage = NewEmfParsleyProjectSupport.getValidJavaName(iProject.getName());
 		IPackageFragment pack = JavaCore.create(iProject).getPackageFragmentRoot(iProject.getFolder("src"))
-				.createPackageFragment(projectName, true, monitor);
+				.createPackageFragment(mainPackage, true, monitor);
 		IFolder folder = iProject.getFolder(pack.getPath().removeFirstSegments(1));
 
 		replaceStrings = new Properties();
-		replaceStrings.setProperty("org.eclipse.emf.parsley.web.tools.servlets", projectName);
+		replaceStrings.setProperty("org.eclipse.emf.parsley.web.tools.servlets", mainPackage);
 		Utils.copyFile(iProject, monitor, "/templates/module.parsley",
 				iProject.getFolder("src").getFile("module.parsley"), replaceStrings);
 
@@ -110,13 +111,13 @@
 		String lastSegment = fullPath.segment(fullPath.segmentCount()-1);
 		lastSegment = lastSegment.substring(0, 1).toUpperCase() + lastSegment.substring(1,lastSegment.length());
 		replaceStrings.setProperty("ParsleyWebGuiceModule", lastSegment+"EmfParsleyGuiceModule");
-		replaceStrings.setProperty("org.eclipse.emf.parsley.web.tools.templates", projectName);
+		replaceStrings.setProperty("org.eclipse.emf.parsley.web.tools.templates", mainPackage);
 		Utils.copyFile(iProject, monitor, "/templates/ParsleyGuiceServletContextListener.java",
 				folder.getFile("ParsleyGuiceServletContextListener.java"), replaceStrings);
 
 		replaceStrings = new Properties();
 
-		replaceStrings.setProperty("org.eclipse.emf.parsley.web.tools.templates", projectName);
+		replaceStrings.setProperty("org.eclipse.emf.parsley.web.tools.templates", mainPackage);
 
 		Utils.copyFile(iProject, monitor, "/templates/ParsleyContextListener.java",
 				folder.getFile("ParsleyContextListener.java"), replaceStrings);
diff --git a/plugins/org.eclipse.emf.parsley.web.tools/templates/pom.xml b/plugins/org.eclipse.emf.parsley.web.tools/templates/pom.xml
index a3a52e4..1a51c07 100644
--- a/plugins/org.eclipse.emf.parsley.web.tools/templates/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.web.tools/templates/pom.xml
@@ -4,7 +4,7 @@
 
 	<groupId>org.eclipse.emf.parsley</groupId>
 	<artifactId>org.eclipse.emf.parsley.web.servlets.dependencies</artifactId>
-	<version>1.1.0-SNAPSHOT</version>
+	<version>1.2.0-SNAPSHOT</version>
 
 	<dependencies>
 		<dependency>
diff --git a/plugins/org.eclipse.emf.parsley.wizards/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley.wizards/META-INF/MANIFEST.MF
index 930f498..0dfef32 100644
--- a/plugins/org.eclipse.emf.parsley.wizards/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley.wizards/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Wizards
 Bundle-SymbolicName: org.eclipse.emf.parsley.wizards;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.wizards.EmfParsleyWizardsActivator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.jdt.core;bundle-version="3.7.1",
diff --git a/plugins/org.eclipse.emf.parsley.wizards/pom.xml b/plugins/org.eclipse.emf.parsley.wizards/pom.xml
index b806bbd..b213b38 100644
--- a/plugins/org.eclipse.emf.parsley.wizards/pom.xml
+++ b/plugins/org.eclipse.emf.parsley.wizards/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.wizards</artifactId>
diff --git a/plugins/org.eclipse.emf.parsley.wizards/src/org/eclipse/emf/parsley/wizards/NewEmfParsleyProjectSupport.java b/plugins/org.eclipse.emf.parsley.wizards/src/org/eclipse/emf/parsley/wizards/NewEmfParsleyProjectSupport.java
index 12e650c..7c14f48 100644
--- a/plugins/org.eclipse.emf.parsley.wizards/src/org/eclipse/emf/parsley/wizards/NewEmfParsleyProjectSupport.java
+++ b/plugins/org.eclipse.emf.parsley.wizards/src/org/eclipse/emf/parsley/wizards/NewEmfParsleyProjectSupport.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2013 RCP Vision (http://www.rcp-vision.com) and others.
+ * Copyright (c) 2013-2017 RCP Vision (http://www.rcp-vision.com) 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
@@ -7,11 +7,13 @@
  * 
  * Contributors:
  * Lorenzo Bettini - Initial contribution and API
+ * Vincenzo Caselli - https://bugs.eclipse.org/bugs/show_bug.cgi?id=512356
  *******************************************************************************/
 package org.eclipse.emf.parsley.wizards;
 
 import java.io.ByteArrayInputStream;
 import java.nio.charset.Charset;
+import java.util.Locale;
 
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFile;
@@ -104,4 +106,13 @@
 		progressMonitor.done();
 	}
 
+	/**
+	 * Replaces any character different from a-zA-Z0-9._ with _, then convert in lowercase
+	 * @param name
+	 * @return
+	 */
+	public static String getValidJavaName(String name) {
+		return name.replaceAll("[^a-zA-Z0-9\\._]", "_").toLowerCase(Locale.ENGLISH);
+	}
+
 }
diff --git a/plugins/org.eclipse.emf.parsley/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.parsley/META-INF/MANIFEST.MF
index 59fdbb1..15356b4 100644
--- a/plugins/org.eclipse.emf.parsley/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.parsley/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley
 Bundle-SymbolicName: org.eclipse.emf.parsley;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.EmfParsleyActivator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.emf.databinding.edit;bundle-version="1.2.0";visibility:=reexport,
diff --git a/plugins/org.eclipse.emf.parsley/pom.xml b/plugins/org.eclipse.emf.parsley/pom.xml
index ee2b1a5..7983bdd 100644
--- a/plugins/org.eclipse.emf.parsley/pom.xml
+++ b/plugins/org.eclipse.emf.parsley/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley</artifactId>
diff --git a/releng/org.eclipse.emf.parsley.parent/ant/release.properties b/releng/org.eclipse.emf.parsley.parent/ant/release.properties
index 8025d35..11b0271 100644
--- a/releng/org.eclipse.emf.parsley.parent/ant/release.properties
+++ b/releng/org.eclipse.emf.parsley.parent/ant/release.properties
@@ -1,8 +1,8 @@
 #Build version
-#Wed, 06 Jul 2016 15:07:58 +0200
+#Thu, 22 Dec 2016 11:39:19 +0100
 
-version_main=1.1.0
-version_osgi=1.1.0.qualifier
-version_mvn=1.1.0-SNAPSHOT
+version_main=1.2.0
+version_osgi=1.2.0.qualifier
+version_mvn=1.2.0-SNAPSHOT
 
-majorMinorVersion=1.1
+majorMinorVersion=1.2
diff --git a/releng/org.eclipse.emf.parsley.parent/pom.xml b/releng/org.eclipse.emf.parsley.parent/pom.xml
index 492846b..330cd9d 100644
--- a/releng/org.eclipse.emf.parsley.parent/pom.xml
+++ b/releng/org.eclipse.emf.parsley.parent/pom.xml
@@ -4,7 +4,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.eclipse.emf.parsley</groupId>
 	<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-	<version>1.1.0-SNAPSHOT</version>
+	<version>1.2.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 	
 	<name>EMF Parsley</name>
@@ -81,7 +81,7 @@
 		<uiTestsArgs>${memoryArgs} ${os-jvm-flags} -Dorg.eclipse.swt.browser.DefaultType=mozilla</uiTestsArgs>
 		<pdeTestsArgs>-DbuildingWithTycho=true</pdeTestsArgs>
 		<skipDragAndDropTests>true</skipDragAndDropTests>
-		<swtbotTestsArgs>${uiTestsArgs} -DskipDragAndDropTests=${skipDragAndDropTests} -Dorg.eclipse.swtbot.search.timeout=150000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false</swtbotTestsArgs>
+		<swtbotTestsArgs>${uiTestsArgs} -DskipDragAndDropTests=${skipDragAndDropTests} -Dorg.eclipse.swtbot.search.timeout=20000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false</swtbotTestsArgs>
 
 		<!-- <jacoco.reportPath>../target/jacoco.exec</jacoco.reportPath> -->
 		<!-- <findbugs.reportPath>../target/findbugs</findbugs.reportPath> -->
diff --git a/releng/org.eclipse.emf.parsley.rap.repository/pom.xml b/releng/org.eclipse.emf.parsley.rap.repository/pom.xml
index 44375ac..b9831f6 100644
--- a/releng/org.eclipse.emf.parsley.rap.repository/pom.xml
+++ b/releng/org.eclipse.emf.parsley.rap.repository/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.rap.repository</artifactId>
@@ -15,7 +15,7 @@
 
 	<properties>
 		<p2.mirrorsPrefix>/emf-parsley/${parsley.rap.updates.dir}</p2.mirrorsPrefix>
-		<p2.versionMajorMinor>1.1</p2.versionMajorMinor>
+		<p2.versionMajorMinor>1.2</p2.versionMajorMinor>
 		<p2.statsURL>http://download.eclipse.org/stats</p2.statsURL>
 		<p2.mirrorsURL>http://www.eclipse.org/downloads/download.php?format=xml&amp;file=${p2.mirrorsPrefix}/${p2.versionMajorMinor}/${qualifiedVersion}/</p2.mirrorsURL>
 		<p2.statsTrackedArtifacts>org.eclipse.emf.parsley.rap.sdk,org.eclipse.emf.parsley.rap.cdo.sdk</p2.statsTrackedArtifacts>
diff --git a/releng/org.eclipse.emf.parsley.repository/pom.xml b/releng/org.eclipse.emf.parsley.repository/pom.xml
index fa5c497..74dec67 100644
--- a/releng/org.eclipse.emf.parsley.repository/pom.xml
+++ b/releng/org.eclipse.emf.parsley.repository/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.repository</artifactId>
@@ -15,7 +15,7 @@
 
 	<properties>
 		<p2.mirrorsPrefix>/emf-parsley/${parsley.updates.dir}</p2.mirrorsPrefix>
-		<p2.versionMajorMinor>1.1</p2.versionMajorMinor>
+		<p2.versionMajorMinor>1.2</p2.versionMajorMinor>
 		<p2.statsURL>http://download.eclipse.org/stats</p2.statsURL>
 		<p2.mirrorsURL>http://www.eclipse.org/downloads/download.php?format=xml&amp;file=${p2.mirrorsPrefix}/${p2.versionMajorMinor}/${qualifiedVersion}/</p2.mirrorsURL>
 		<p2.statsTrackedArtifacts>org.eclipse.emf.parsley.sdk,org.eclipse.emf.parsley.feature,org.eclipse.emf.parsley.dsl.feature,org.eclipse.emf.parsley.cdo.feature,org.eclipse.emf.examples.feature,org.eclipse.emf.web.feature,org.eclipse.emf.junit4.feature</p2.statsTrackedArtifacts>
diff --git a/tests/org.eclipse.emf.parsley.cdo.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.cdo.tests/META-INF/MANIFEST.MF
index 6d1bea9..baa6b03 100644
--- a/tests/org.eclipse.emf.parsley.cdo.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.cdo.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Tree Editor CDO Tests
 Bundle-SymbolicName: org.eclipse.emf.parsley.cdo.tests
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.cdo.tests.Activator
 Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
  org.eclipse.core.runtime;bundle-version="3.5.0",
diff --git a/tests/org.eclipse.emf.parsley.cdo.tests/pom.xml b/tests/org.eclipse.emf.parsley.cdo.tests/pom.xml
index f77700c..69efef1 100644
--- a/tests/org.eclipse.emf.parsley.cdo.tests/pom.xml
+++ b/tests/org.eclipse.emf.parsley.cdo.tests/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.cdo.tests</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.models/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.models/META-INF/MANIFEST.MF
index e2efe86..2f26f5a 100644
--- a/tests/org.eclipse.emf.parsley.tests.models/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.models/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.parsley.tests.models;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/tests/org.eclipse.emf.parsley.tests.models/pom.xml b/tests/org.eclipse.emf.parsley.tests.models/pom.xml
index ef0fd8e..5c0f11b 100644
--- a/tests/org.eclipse.emf.parsley.tests.models/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.models/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.models</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/META-INF/MANIFEST.MF
index cab9a4d..1586b33 100644
--- a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Emf Parsley Tests PDE Utils
 Bundle-SymbolicName: org.eclipse.emf.parsley.tests.pde.utils
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.eclipse.pde.core;bundle-version="3.7.1";visibility:=reexport,
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/pom.xml b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/pom.xml
index ab9b205..ccdc194 100644
--- a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/pom.xml
@@ -6,7 +6,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.pde.utils</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/META-INF/MANIFEST.MF
index e56daf7..ee2d32a 100644
--- a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Emf Parsley Tests PDE Utils
 Bundle-SymbolicName: org.eclipse.emf.parsley.tests.pde.utils
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.eclipse.pde.core;bundle-version="3.9.1";visibility:=reexport,
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/pom.xml b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/pom.xml
index ab9b205..ccdc194 100644
--- a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/pom.xml
@@ -6,7 +6,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.pde.utils</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/META-INF/MANIFEST.MF
index 6db340a..f20ac85 100644
--- a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Tests PDE Utils
 Bundle-SymbolicName: org.eclipse.emf.parsley.tests.pde.utils
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.eclipse.pde.core;bundle-version="3.10.0";visibility:=reexport,
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/pom.xml b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/pom.xml
index 45025ae..d48d4f9 100644
--- a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.pde.utils</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/feature.xml b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/feature.xml
index 27e09da..faad82d 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/feature.xml
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.tests.swtbot.cdo.feature"
       label="EMF Parsley CDO SWTBOT Tests Feature"
-      version="1.1.0.qualifier">
+      version="1.2.0.qualifier">
 
    <description url="http://www.example.com/description">
       EMF Parsley CDO SWTBOT Tests Feature
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/pom.xml b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/pom.xml
index 34022af..73a5248 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.swtbot.cdo.feature</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/META-INF/MANIFEST.MF
index e1b5904..b994679 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: CDO
 Bundle-SymbolicName: org.eclipse.emf.parsley.tests.swtbot.cdo
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.tests.swtbot.cdo.Activator
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/pom.xml b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/pom.xml
index 8599f9a..d113817 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.swtbot.cdo</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.e4/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.swtbot.e4/META-INF/MANIFEST.MF
index 70ebf90..45cfe7b 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.e4/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.e4/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley SWTBOT e4 Tests
 Bundle-SymbolicName: org.eclipse.emf.parsley.tests.swtbot.e4;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.eclipse.swtbot.go;bundle-version="2.3.0",
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.e4/pom.xml b/tests/org.eclipse.emf.parsley.tests.swtbot.e4/pom.xml
index 5eddbbe..ab7fee3 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.e4/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.e4/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.swtbot.e4</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.examples/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.swtbot.examples/META-INF/MANIFEST.MF
index 1deadcf..ace944c 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.examples/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.examples/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley SWTBOT Examples Tests
 Bundle-SymbolicName: org.eclipse.emf.parsley.tests.swtbot.examples;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.eclipse.swtbot.go;bundle-version="2.3.0",
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.examples/pom.xml b/tests/org.eclipse.emf.parsley.tests.swtbot.examples/pom.xml
index ced1cdc..0a1f02f 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.examples/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.examples/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.swtbot.examples</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.feature/feature.xml b/tests/org.eclipse.emf.parsley.tests.swtbot.feature/feature.xml
index f787e3d..57a5dd3 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.feature/feature.xml
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.emf.parsley.tests.swtbot.feature"
       label="EMF Parsley SWTBOT Tests Feature"
-      version="1.1.0.qualifier">
+      version="1.2.0.qualifier">
 
    <description url="http://www.example.com/description">
       EMF Parsley SWTBOT Tests Feature
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.feature/pom.xml b/tests/org.eclipse.emf.parsley.tests.swtbot.feature/pom.xml
index 57882ed..7b6b382 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.feature/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.feature/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.swtbot.feature</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.swtbot/META-INF/MANIFEST.MF
index 5108927..9772070 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley SWTBOT Tests
 Bundle-SymbolicName: org.eclipse.emf.parsley.tests.swtbot;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/pom.xml b/tests/org.eclipse.emf.parsley.tests.swtbot/pom.xml
index 982f8fe..77d43fe 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.swtbot</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleyDslUiAbstractTests.xtend b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleyDslUiAbstractTests.xtend
index e6aef62..f789ce6 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleyDslUiAbstractTests.xtend
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleyDslUiAbstractTests.xtend
@@ -17,10 +17,18 @@
 public abstract class EmfParsleyDslUiAbstractTests extends EmfParsleySWTBotAbstractTests {
 
 	protected val TEST_PROJ_NAME = "my.emfparsley.proj"
+	protected val TEST_PROJ_NAME_BAD1 = "My-EmfParsley--project"
 
 	def createDslProjectWithWizard() {
 		createProjectWithoutTemplateInWorkspace(EMF_PARSLEY_CATEGORY,
 				NEW_EMF_PARSLEY_DSL_PROJECT, TEST_PROJ_NAME);
 		assertNoIssuesInProjectAfterAutoBuild();
 	}
+
+	def createDslProjectWithWizardFromBadProjectName1() {
+		createProjectWithoutTemplateInWorkspace(EMF_PARSLEY_CATEGORY,
+				NEW_EMF_PARSLEY_DSL_PROJECT, TEST_PROJ_NAME_BAD1);
+		assertNoIssuesInProjectAfterAutoBuild();
+	}
+
 }
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleyDslWizardsTests.xtend b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleyDslWizardsTests.xtend
index b787b43..e10593a 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleyDslWizardsTests.xtend
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleyDslWizardsTests.xtend
@@ -42,6 +42,12 @@
 	}
 
 	@Test
+	def canCreateDslProjectWithWizardFromBadProjectName1() {
+		createDslProjectWithWizardFromBadProjectName1;
+		assertNoIssuesInProjectAfterAutoBuild();
+	}
+
+	@Test
 	def canCreateDslProjectWithWizardAndTreeFormTemplate() {
 		createProjectWithTemplateInWorkspace(EMF_PARSLEY_CATEGORY,
 				NEW_EMF_PARSLEY_DSL_PROJECT, TEST_PROJ_NAME, TREE_FORM_TEMPLATE);
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleySWTBotAbstractTests.java b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleySWTBotAbstractTests.java
index 559e5f3..0888b3c 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleySWTBotAbstractTests.java
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/swtbot/EmfParsleySWTBotAbstractTests.java
@@ -828,7 +828,7 @@
 	}
 
 	protected void assertProjectIsCreated(String projectName) {
-		assertTrue("Project doesn't exist", isProjectCreated(projectName));
+		assertTrue("Project doesn't exist: " + projectName, isProjectCreated(projectName));
 	}
 
 	protected void waitForBuild() throws CoreException {
diff --git a/tests/org.eclipse.emf.parsley.tests.views/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.views/META-INF/MANIFEST.MF
index 71c797b..c487b77 100644
--- a/tests/org.eclipse.emf.parsley.tests.views/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.views/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.emf.parsley.tests.views
 Bundle-Vendor: Eclipse Modeling Project
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.tests.views; singleton:=true
 Bundle-Activator: org.eclipse.emf.parsley.tests.views.ViewsActivator
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.emf.parsley.tests.views/pom.xml b/tests/org.eclipse.emf.parsley.tests.views/pom.xml
index 9dc2eb3..ce0e260 100644
--- a/tests/org.eclipse.emf.parsley.tests.views/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests.views/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests.views</artifactId>
diff --git a/tests/org.eclipse.emf.parsley.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests/META-INF/MANIFEST.MF
index 0e1d0d0..de6df07 100644
--- a/tests/org.eclipse.emf.parsley.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF Parsley Tests
 Bundle-SymbolicName: org.eclipse.emf.parsley.tests;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
 Bundle-Activator: org.eclipse.emf.parsley.tests.EmfParsleyTestsActivator
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0",
diff --git a/tests/org.eclipse.emf.parsley.tests/pom.xml b/tests/org.eclipse.emf.parsley.tests/pom.xml
index 0ee304a..221d893 100644
--- a/tests/org.eclipse.emf.parsley.tests/pom.xml
+++ b/tests/org.eclipse.emf.parsley.tests/pom.xml
@@ -7,7 +7,7 @@
 		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
 		<groupId>org.eclipse.emf.parsley</groupId>
 		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
-		<version>1.1.0-SNAPSHOT</version>
+		<version>1.2.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.emf.parsley.tests</artifactId>