regenerated example library model code

The ecore and the genmodel have been updated so that they respect the
generated Java code (which had previsously been refactored through jdt)

Change-Id: I52dbc1f10b628d93b3d9e950c8f5c14da7ff0138
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/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