[543903] Remove If the meaning of 'blah' isn't clear from templates
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenDecoration.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenDecoration.java
index 0aa9891..5973349 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenDecoration.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenDecoration.java
@@ -58,10 +58,6 @@
   /**
    * The '<em><b>None</b></em>' literal value.
    * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
    * <!-- end-user-doc -->
    * @see #NONE
    * @model name="None"
@@ -73,10 +69,6 @@
   /**
    * The '<em><b>Manual</b></em>' literal value.
    * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>Manual</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
    * <!-- end-user-doc -->
    * @see #MANUAL
    * @model name="Manual"
@@ -88,10 +80,6 @@
   /**
    * The '<em><b>Live</b></em>' literal value.
    * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>Live</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
    * <!-- end-user-doc -->
    * @see #LIVE
    * @model name="Live"
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenDelegationKind.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenDelegationKind.java
index 72b3196..bd60c21 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenDelegationKind.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenDelegationKind.java
@@ -99,10 +99,6 @@
   /**
    * The '<em><b>Dynamic</b></em>' literal value.
    * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>Dynamic</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
    * <!-- end-user-doc -->
    * @see #DYNAMIC_LITERAL
    * @model name="Dynamic"
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenModel.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenModel.java
index 977e645..3cea022 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenModel.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenModel.java
@@ -2302,10 +2302,6 @@
    * Returns the value of the '<em><b>Eclipse Platform Version</b></em>' attribute.
    * The literals are from the enumeration {@link org.eclipse.emf.codegen.ecore.genmodel.GenEclipsePlatformVersion}.
    * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of the '<em>Eclipse Platform Version</em>' attribute isn't clear,
-   * there really should be more of a description here...
-   * </p>
    * <!-- end-user-doc -->
    * <!-- begin-model-doc -->
    * @since 2.14
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenRuntimeVersion.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenRuntimeVersion.java
index 721af4d..ffa1425 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenRuntimeVersion.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/genmodel/GenRuntimeVersion.java
@@ -288,10 +288,6 @@
   /**
    * The '<em><b>EMF211</b></em>' literal value.
    * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>EMF211</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
    * <!-- end-user-doc -->
    * @see #EMF211
    * @model literal="2.11"
@@ -303,10 +299,6 @@
   /**
    * The '<em><b>EMF212</b></em>' literal value.
    * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>EMF212</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
    * <!-- end-user-doc -->
    * @see #EMF212
    * @model literal="2.12"
@@ -318,10 +310,6 @@
   /**
    * The '<em><b>EMF213</b></em>' literal value.
    * <!-- begin-user-doc -->
-   * <p>
-   * If the meaning of '<em><b>EMF213</b></em>' literal object isn't clear,
-   * there really should be more of a description here...
-   * </p>
    * <!-- end-user-doc -->
    * @see #EMF213
    * @model literal="2.13"
@@ -333,8 +321,6 @@
   /**
    * The '<em><b>EMF214</b></em>' literal value.
    * <!-- begin-user-doc -->
-   * <p>
-   * </p>
    * <!-- end-user-doc -->
    * <!-- begin-model-doc -->
    * @since 2.14
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/Class.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/Class.java
index 230b673..ebb637d 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/Class.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/Class.java
@@ -219,499 +219,495 @@
   protected final String TEXT_200 = "}.";
   protected final String TEXT_201 = NL + "\t * It is bidirectional and its opposite is '{@link ";
   protected final String TEXT_202 = "</em>}'.";
-  protected final String TEXT_203 = NL + "\t * <!-- begin-user-doc -->";
-  protected final String TEXT_204 = NL + "\t * <p>" + NL + "\t * If the meaning of the '<em>";
-  protected final String TEXT_205 = "</em>' ";
-  protected final String TEXT_206 = " isn't clear," + NL + "\t * there really should be more of a description here..." + NL + "\t * </p>";
-  protected final String TEXT_207 = NL + "\t * <!-- end-user-doc -->";
-  protected final String TEXT_208 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";
-  protected final String TEXT_209 = NL + "\t * <!-- end-model-doc -->";
-  protected final String TEXT_210 = NL + "\t * @return the value of the '<em>";
-  protected final String TEXT_211 = NL + "\t * @see ";
-  protected final String TEXT_212 = NL + "\t * @see #isSet";
-  protected final String TEXT_213 = NL + "\t * @see #unset";
-  protected final String TEXT_214 = NL + "\t * @see #set";
-  protected final String TEXT_215 = NL + "\t * @model ";
-  protected final String TEXT_216 = NL + "\t *        ";
-  protected final String TEXT_217 = NL + "\t * @model";
-  protected final String TEXT_218 = ")eDynamicGet(";
-  protected final String TEXT_219 = " - ESTATIC_FEATURE_COUNT";
-  protected final String TEXT_220 = ", true, ";
-  protected final String TEXT_221 = ").";
-  protected final String TEXT_222 = ")eGet(";
-  protected final String TEXT_223 = ", true)";
-  protected final String TEXT_224 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)";
-  protected final String TEXT_225 = NL + "\t\tif (eContainerFeatureID() != ";
-  protected final String TEXT_226 = ") return null;" + NL + "\t\treturn (";
-  protected final String TEXT_227 = "eContainer";
-  protected final String TEXT_228 = "eInternalContainer";
-  protected final String TEXT_229 = "();";
-  protected final String TEXT_230 = " != null && ";
-  protected final String TEXT_231 = ".eIsProxy())" + NL + "\t\t{" + NL + "\t\t\t";
-  protected final String TEXT_232 = " old";
-  protected final String TEXT_233 = ";" + NL + "\t\t\t";
-  protected final String TEXT_234 = "eResolveProxy(old";
-  protected final String TEXT_235 = ");" + NL + "\t\t\tif (";
-  protected final String TEXT_236 = " != old";
-  protected final String TEXT_237 = ")" + NL + "\t\t\t{";
-  protected final String TEXT_238 = NL + "\t\t\t\t";
-  protected final String TEXT_239 = " msgs = old";
-  protected final String TEXT_240 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
-  protected final String TEXT_241 = ", null, null);";
-  protected final String TEXT_242 = " msgs =  old";
-  protected final String TEXT_243 = ".eInverseRemove(this, ";
-  protected final String TEXT_244 = ".class, null);";
-  protected final String TEXT_245 = NL + "\t\t\t\tif (new";
-  protected final String TEXT_246 = ".eInternalContainer() == null)" + NL + "\t\t\t\t{";
-  protected final String TEXT_247 = NL + "\t\t\t\t\tmsgs = new";
-  protected final String TEXT_248 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";
-  protected final String TEXT_249 = ", null, msgs);";
-  protected final String TEXT_250 = NL + "\t\t\t\t\tmsgs =  new";
-  protected final String TEXT_251 = ".eInverseAdd(this, ";
-  protected final String TEXT_252 = ".class, msgs);";
-  protected final String TEXT_253 = NL + "\t\t\t\t}" + NL + "\t\t\t\tif (msgs != null) msgs.dispatch();";
-  protected final String TEXT_254 = NL + "\t\t\t\teVirtualSet(";
-  protected final String TEXT_255 = NL + "\t\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\t\teNotify(new ";
-  protected final String TEXT_256 = "(this, ";
-  protected final String TEXT_257 = ".RESOLVE, ";
-  protected final String TEXT_258 = ", old";
-  protected final String TEXT_259 = "));";
-  protected final String TEXT_260 = NL + "\t\t\t}" + NL + "\t\t}";
-  protected final String TEXT_261 = NL + "\t\treturn (";
-  protected final String TEXT_262 = " & ";
-  protected final String TEXT_263 = "_EFLAG) != 0;";
-  protected final String TEXT_264 = "_EFLAG_VALUES[(";
-  protected final String TEXT_265 = "_EFLAG) >>> ";
-  protected final String TEXT_266 = "_EFLAG_OFFSET];";
-  protected final String TEXT_267 = " = basicGet";
-  protected final String TEXT_268 = "();" + NL + "\t\treturn ";
-  protected final String TEXT_269 = ".eIsProxy() ? ";
-  protected final String TEXT_270 = "eResolveProxy(";
-  protected final String TEXT_271 = ") : ";
-  protected final String TEXT_272 = NL + "\t\treturn new ";
-  protected final String TEXT_273 = "((";
-  protected final String TEXT_274 = ".Internal)((";
-  protected final String TEXT_275 = ".Internal.Wrapper)get";
-  protected final String TEXT_276 = "()).featureMap().";
-  protected final String TEXT_277 = "list(";
-  protected final String TEXT_278 = ")get";
-  protected final String TEXT_279 = "().";
-  protected final String TEXT_280 = NL + "\t\treturn ((";
-  protected final String TEXT_281 = "()).featureMap().list(";
-  protected final String TEXT_282 = NL + "\t\treturn get";
-  protected final String TEXT_283 = "().list(";
-  protected final String TEXT_284 = "()).featureMap().get(";
-  protected final String TEXT_285 = "get";
-  protected final String TEXT_286 = "().get(";
-  protected final String TEXT_287 = NL + "\t\t// TODO: implement this method to return the '";
-  protected final String TEXT_288 = "' ";
-  protected final String TEXT_289 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT";
-  protected final String TEXT_290 = NL + "\t\t// The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting" + NL + "\t\t// so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.";
-  protected final String TEXT_291 = "EcoreEMap";
-  protected final String TEXT_292 = "BasicFeatureMap";
-  protected final String TEXT_293 = "EcoreEList";
-  protected final String TEXT_294 = " should be used.";
-  protected final String TEXT_295 = NL + "\t\tthrow new UnsupportedOperationException();";
-  protected final String TEXT_296 = " basicGet";
-  protected final String TEXT_297 = ", false, ";
-  protected final String TEXT_298 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)";
-  protected final String TEXT_299 = ")eInternalContainer();";
-  protected final String TEXT_300 = ")((";
-  protected final String TEXT_301 = ", false);";
-  protected final String TEXT_302 = NL + "\t\t// -> do not perform proxy resolution" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new UnsupportedOperationException();";
-  protected final String TEXT_303 = " msgs)" + NL + "\t{";
-  protected final String TEXT_304 = NL + "\t\tmsgs = eBasicSetContainer(";
-  protected final String TEXT_305 = ", msgs);";
-  protected final String TEXT_306 = NL + "\t\treturn msgs;";
-  protected final String TEXT_307 = NL + "\t\tmsgs = eDynamicInverseAdd(";
-  protected final String TEXT_308 = NL + "\t\tObject old";
-  protected final String TEXT_309 = " = eVirtualSet(";
-  protected final String TEXT_310 = ", new";
-  protected final String TEXT_311 = ";" + NL + "\t\t";
-  protected final String TEXT_312 = " = new";
-  protected final String TEXT_313 = NL + "\t\tboolean isSetChange = old";
-  protected final String TEXT_314 = " == EVIRTUAL_NO_VALUE;";
-  protected final String TEXT_315 = NL + "\t\tboolean old";
-  protected final String TEXT_316 = "ESet = (";
-  protected final String TEXT_317 = "_ESETFLAG) != 0;";
-  protected final String TEXT_318 = "_ESETFLAG;";
-  protected final String TEXT_319 = "ESet = ";
-  protected final String TEXT_320 = "ESet;";
-  protected final String TEXT_321 = "ESet = true;";
-  protected final String TEXT_322 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{";
-  protected final String TEXT_323 = " notification = new ";
-  protected final String TEXT_324 = ".SET, ";
-  protected final String TEXT_325 = "isSetChange ? null : old";
-  protected final String TEXT_326 = "old";
-  protected final String TEXT_327 = "isSetChange";
-  protected final String TEXT_328 = "!old";
-  protected final String TEXT_329 = "ESet";
-  protected final String TEXT_330 = " == EVIRTUAL_NO_VALUE ? null : old";
-  protected final String TEXT_331 = NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}";
-  protected final String TEXT_332 = "()).featureMap()).basicAdd(";
-  protected final String TEXT_333 = ".Internal)get";
-  protected final String TEXT_334 = "()).basicAdd(";
-  protected final String TEXT_335 = NL + "\t\t// TODO: implement this method to set the contained '";
-  protected final String TEXT_336 = NL + "\t\t// -> this method is automatically invoked to keep the containment relationship in synch" + NL + "\t\t// -> do not modify other features" + NL + "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new UnsupportedOperationException();";
-  protected final String TEXT_337 = NL + "\t/**" + NL + "\t * Sets the value of the '{@link ";
-  protected final String TEXT_338 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param value the new value of the '<em>";
-  protected final String TEXT_339 = NL + "\t * @see #";
-  protected final String TEXT_340 = " value);" + NL;
-  protected final String TEXT_341 = ")" + NL + "\t{";
-  protected final String TEXT_342 = NL + "\t\teDynamicSet(";
-  protected final String TEXT_343 = "new ";
-  protected final String TEXT_344 = "new";
-  protected final String TEXT_345 = NL + "\t\teSet(";
-  protected final String TEXT_346 = "__ESETTING_DELEGATE.dynamicSet(this, null, 0, ";
-  protected final String TEXT_347 = NL + "\t\tif (new";
-  protected final String TEXT_348 = " != eInternalContainer() || (eContainerFeatureID() != ";
-  protected final String TEXT_349 = " && new";
-  protected final String TEXT_350 = " != null))" + NL + "\t\t{" + NL + "\t\t\tif (";
-  protected final String TEXT_351 = ".isAncestor(this, ";
-  protected final String TEXT_352 = "))" + NL + "\t\t\t\tthrow new ";
-  protected final String TEXT_353 = "(\"Recursive containment not allowed for \" + toString());";
-  protected final String TEXT_354 = " msgs = null;" + NL + "\t\t\tif (eInternalContainer() != null)" + NL + "\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);" + NL + "\t\t\tif (new";
-  protected final String TEXT_355 = " != null)" + NL + "\t\t\t\tmsgs = ";
-  protected final String TEXT_356 = ".class, msgs);" + NL + "\t\t\tmsgs = basicSet";
-  protected final String TEXT_357 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";
-  protected final String TEXT_358 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
-  protected final String TEXT_359 = " != ";
-  protected final String TEXT_360 = ")" + NL + "\t\t{" + NL + "\t\t\t";
-  protected final String TEXT_361 = " msgs = null;" + NL + "\t\t\tif (";
-  protected final String TEXT_362 = " != null)";
-  protected final String TEXT_363 = NL + "\t\t\t\tmsgs = ";
-  protected final String TEXT_364 = ", null, msgs);" + NL + "\t\t\tif (new";
-  protected final String TEXT_365 = ".class, msgs);" + NL + "\t\t\tif (new";
-  protected final String TEXT_366 = NL + "\t\t\tmsgs = basicSet";
-  protected final String TEXT_367 = NL + "\t\telse" + NL + "\t\t{";
-  protected final String TEXT_368 = NL + "\t\t\tboolean old";
-  protected final String TEXT_369 = "ESet = eVirtualIsSet(";
-  protected final String TEXT_370 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";
-  protected final String TEXT_371 = ", !old";
-  protected final String TEXT_372 = "ESet));";
-  protected final String TEXT_373 = NL + "\t\t}";
-  protected final String TEXT_374 = ") ";
-  protected final String TEXT_375 = "_EFLAG; else ";
-  protected final String TEXT_376 = " &= ~";
-  protected final String TEXT_377 = "_EFLAG;";
-  protected final String TEXT_378 = " == null) new";
-  protected final String TEXT_379 = "_EDEFAULT;" + NL + "\t\t";
-  protected final String TEXT_380 = " & ~";
-  protected final String TEXT_381 = "_EFLAG | ";
-  protected final String TEXT_382 = ".VALUES.indexOf(new";
-  protected final String TEXT_383 = "_EFLAG_OFFSET;";
-  protected final String TEXT_384 = " == null ? ";
-  protected final String TEXT_385 = " : new";
-  protected final String TEXT_386 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
-  protected final String TEXT_387 = "isSetChange ? ";
-  protected final String TEXT_388 = " : old";
-  protected final String TEXT_389 = " == EVIRTUAL_NO_VALUE ? ";
-  protected final String TEXT_390 = NL + "\t\t((";
-  protected final String TEXT_391 = "()).featureMap()).set(";
-  protected final String TEXT_392 = "()).set(";
-  protected final String TEXT_393 = NL + "\t\t// TODO: implement this method to set the '";
-  protected final String TEXT_394 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new UnsupportedOperationException();";
-  protected final String TEXT_395 = " basicUnset";
-  protected final String TEXT_396 = NL + "\t\treturn eDynamicInverseRemove(";
-  protected final String TEXT_397 = "basicGet";
-  protected final String TEXT_398 = "(), ";
-  protected final String TEXT_399 = "Object old";
-  protected final String TEXT_400 = "eVirtualUnset(";
-  protected final String TEXT_401 = " = null;";
-  protected final String TEXT_402 = " != EVIRTUAL_NO_VALUE;";
-  protected final String TEXT_403 = "ESet = false;";
-  protected final String TEXT_404 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{" + NL + "\t\t\t";
-  protected final String TEXT_405 = ".UNSET, ";
-  protected final String TEXT_406 = "isSetChange ? old";
-  protected final String TEXT_407 = " : null";
-  protected final String TEXT_408 = ", null, ";
-  protected final String TEXT_409 = ");" + NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}" + NL + "\t\treturn msgs;";
-  protected final String TEXT_410 = NL + "\t\t// TODO: implement this method to unset the contained '";
-  protected final String TEXT_411 = NL + "\t/**" + NL + "\t * Unsets the value of the '{@link ";
-  protected final String TEXT_412 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
-  protected final String TEXT_413 = NL + "\tvoid unset";
-  protected final String TEXT_414 = NL + "\tpublic void unset";
-  protected final String TEXT_415 = NL + "\t\teDynamicUnset(";
-  protected final String TEXT_416 = NL + "\t\teUnset(";
-  protected final String TEXT_417 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";
-  protected final String TEXT_418 = " != null) ((";
-  protected final String TEXT_419 = ".Unsettable";
-  protected final String TEXT_420 = ").unset();";
-  protected final String TEXT_421 = " != null)" + NL + "\t\t{" + NL + "\t\t\t";
-  protected final String TEXT_422 = " msgs = null;";
-  protected final String TEXT_423 = NL + "\t\t\tmsgs = ";
-  protected final String TEXT_424 = NL + "\t\t\tmsgs = basicUnset";
-  protected final String TEXT_425 = "(msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{";
-  protected final String TEXT_426 = ", null, null, old";
-  protected final String TEXT_427 = " = eVirtualUnset(";
-  protected final String TEXT_428 = "_EFLAG_DEFAULT;";
-  protected final String TEXT_429 = " : ";
-  protected final String TEXT_430 = "()).featureMap()).clear(";
-  protected final String TEXT_431 = "()).clear(";
-  protected final String TEXT_432 = NL + "\t\t// TODO: implement this method to unset the '";
-  protected final String TEXT_433 = NL + "\t/**" + NL + "\t * Returns whether the value of the '{@link ";
-  protected final String TEXT_434 = " is set.";
-  protected final String TEXT_435 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @return whether the value of the '<em>";
-  protected final String TEXT_436 = NL + "\tboolean isSet";
-  protected final String TEXT_437 = NL + "\tpublic boolean isSet";
-  protected final String TEXT_438 = NL + "\t\treturn eDynamicIsSet(";
-  protected final String TEXT_439 = NL + "\t\treturn eIsSet(";
-  protected final String TEXT_440 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";
-  protected final String TEXT_441 = " != null && ((";
-  protected final String TEXT_442 = ").isSet();";
-  protected final String TEXT_443 = NL + "\t\treturn eVirtualIsSet(";
-  protected final String TEXT_444 = NL + "\t\treturn !((";
-  protected final String TEXT_445 = "()).featureMap()).isEmpty(";
-  protected final String TEXT_446 = "()).isEmpty(";
-  protected final String TEXT_447 = NL + "\t\t// TODO: implement this method to return whether the '";
-  protected final String TEXT_448 = " is set" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new UnsupportedOperationException();";
-  protected final String TEXT_449 = NL + "\t/**" + NL + "\t * The cached validation expression for the '{@link #";
-  protected final String TEXT_450 = ") <em>";
-  protected final String TEXT_451 = "</em>}' invariant operation." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
-  protected final String TEXT_452 = "__EEXPRESSION = \"";
-  protected final String TEXT_453 = NL + "\t/**" + NL + "\t * The cached invocation delegate for the '{@link #";
-  protected final String TEXT_454 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
-  protected final String TEXT_455 = ".Internal.InvocationDelegate ";
-  protected final String TEXT_456 = "__EINVOCATION_DELEGATE = ((";
-  protected final String TEXT_457 = ").getInvocationDelegate();" + NL;
-  protected final String TEXT_458 = NL + "\t/**";
-  protected final String TEXT_459 = NL + "\t * <!-- begin-model-doc -->";
-  protected final String TEXT_460 = NL + "\t * @param ";
-  protected final String TEXT_461 = NL + "\t *   ";
-  protected final String TEXT_462 = NL + "\t{";
-  protected final String TEXT_463 = NL + "\t\treturn" + NL + "\t\t\t";
-  protected final String TEXT_464 = ".validate" + NL + "\t\t\t\t(";
-  protected final String TEXT_465 = "," + NL + "\t\t\t\t this," + NL + "\t\t\t\t ";
-  protected final String TEXT_466 = "," + NL + "\t\t\t\t ";
-  protected final String TEXT_467 = "," + NL + "\t\t\t\t \"";
-  protected final String TEXT_468 = "\",";
-  protected final String TEXT_469 = NL + "\t\t\t\t ";
-  protected final String TEXT_470 = "__EEXPRESSION," + NL + "\t\t\t\t ";
-  protected final String TEXT_471 = ".ERROR," + NL + "\t\t\t\t ";
-  protected final String TEXT_472 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t ";
-  protected final String TEXT_473 = NL + "\t\t// TODO: implement this method" + NL + "\t\t// -> specify the condition that violates the invariant" + NL + "\t\t// -> verify the details of the diagnostic, including severity and message" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL + "\t\t{" + NL + "\t\t\tif (";
-  protected final String TEXT_474 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
-  protected final String TEXT_475 = ".add" + NL + "\t\t\t\t\t(new ";
-  protected final String TEXT_476 = NL + "\t\t\t\t\t\t(";
-  protected final String TEXT_477 = ".ERROR," + NL + "\t\t\t\t\t\t ";
-  protected final String TEXT_478 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t ";
-  protected final String TEXT_479 = "," + NL + "\t\t\t\t\t\t ";
-  protected final String TEXT_480 = ".INSTANCE.getString(\"_UI_GenericInvariant_diagnostic\", new Object[] { \"";
-  protected final String TEXT_481 = "\", ";
-  protected final String TEXT_482 = ".getObjectLabel(this, ";
-  protected final String TEXT_483 = ") }),";
-  protected final String TEXT_484 = NL + "\t\t\t\t\t\t new Object [] { this }));" + NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;";
-  protected final String TEXT_485 = NL + "\t\ttry" + NL + "\t\t{";
-  protected final String TEXT_486 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";
-  protected final String TEXT_487 = ".UnmodifiableEList<Object>(";
-  protected final String TEXT_488 = "null";
-  protected final String TEXT_489 = NL + "\t\t\treturn ";
-  protected final String TEXT_490 = NL + "\t\t}" + NL + "\t\tcatch (";
-  protected final String TEXT_491 = " ite)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
-  protected final String TEXT_492 = "(ite);" + NL + "\t\t}";
-  protected final String TEXT_493 = NL + "\t\t// TODO: implement this method" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new UnsupportedOperationException();";
-  protected final String TEXT_494 = " eInverseAdd(";
-  protected final String TEXT_495 = " otherEnd, int featureID, ";
-  protected final String TEXT_496 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";
-  protected final String TEXT_497 = ")" + NL + "\t\t{";
-  protected final String TEXT_498 = NL + "\t\t\tcase ";
-  protected final String TEXT_499 = ":";
-  protected final String TEXT_500 = NL + "\t\t\t\treturn ((";
-  protected final String TEXT_501 = ".InternalMapView";
-  protected final String TEXT_502 = "()).eMap()).basicAdd(otherEnd, msgs);";
-  protected final String TEXT_503 = NL + "\t\t\t\treturn (";
-  protected final String TEXT_504 = "()).basicAdd(otherEnd, msgs);";
-  protected final String TEXT_505 = NL + "\t\t\t\tif (eInternalContainer() != null)" + NL + "\t\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);";
-  protected final String TEXT_506 = NL + "\t\t\t\treturn basicSet";
-  protected final String TEXT_507 = ")otherEnd, msgs);";
-  protected final String TEXT_508 = NL + "\t\t\t\treturn eBasicSetContainer(otherEnd, ";
-  protected final String TEXT_509 = NL + "\t\t\t\tif (";
-  protected final String TEXT_510 = NL + "\t\t\t\t\tmsgs = ";
-  protected final String TEXT_511 = NL + "\t\treturn super.eInverseAdd(otherEnd, featureID, msgs);";
-  protected final String TEXT_512 = NL + "\t\treturn eDynamicInverseAdd(otherEnd, featureID, msgs);";
-  protected final String TEXT_513 = " eInverseRemove(";
-  protected final String TEXT_514 = "()).eMap()).basicRemove(otherEnd, msgs);";
-  protected final String TEXT_515 = ".Internal.Wrapper)";
-  protected final String TEXT_516 = "()).featureMap()).basicRemove(otherEnd, msgs);";
-  protected final String TEXT_517 = "()).basicRemove(otherEnd, msgs);";
-  protected final String TEXT_518 = NL + "\t\t\t\treturn eBasicSetContainer(null, ";
-  protected final String TEXT_519 = NL + "\t\t\t\treturn basicUnset";
-  protected final String TEXT_520 = "(msgs);";
-  protected final String TEXT_521 = "(null, msgs);";
-  protected final String TEXT_522 = NL + "\t\treturn super.eInverseRemove(otherEnd, featureID, msgs);";
-  protected final String TEXT_523 = NL + "\t\treturn eDynamicInverseRemove(otherEnd, featureID, msgs);";
-  protected final String TEXT_524 = " eBasicRemoveFromContainerFeature(";
-  protected final String TEXT_525 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (eContainerFeatureID()";
-  protected final String TEXT_526 = ":" + NL + "\t\t\t\treturn eInternalContainer().eInverseRemove(this, ";
-  protected final String TEXT_527 = NL + "\t\treturn super.eBasicRemoveFromContainerFeature(msgs);";
-  protected final String TEXT_528 = NL + "\t\treturn eDynamicBasicRemoveFromContainer(msgs);";
-  protected final String TEXT_529 = NL + "\tpublic Object eGet(int featureID, boolean resolve, boolean coreType)" + NL + "\t{" + NL + "\t\tswitch (featureID";
-  protected final String TEXT_530 = NL + "\t\t\t\treturn ";
-  protected final String TEXT_531 = "() ? Boolean.TRUE : Boolean.FALSE;";
-  protected final String TEXT_532 = NL + "\t\t\t\treturn new ";
-  protected final String TEXT_533 = "());";
-  protected final String TEXT_534 = NL + "\t\t\t\tif (resolve) return ";
-  protected final String TEXT_535 = "();" + NL + "\t\t\t\treturn basicGet";
-  protected final String TEXT_536 = NL + "\t\t\t\tif (coreType) return ((";
-  protected final String TEXT_537 = "()).eMap();" + NL + "\t\t\t\telse return ";
-  protected final String TEXT_538 = NL + "\t\t\t\tif (coreType) return ";
-  protected final String TEXT_539 = "();" + NL + "\t\t\t\telse return ";
-  protected final String TEXT_540 = "().map();";
-  protected final String TEXT_541 = "()).featureMap();" + NL + "\t\t\t\treturn ";
-  protected final String TEXT_542 = "();" + NL + "\t\t\t\treturn ((";
-  protected final String TEXT_543 = "()).getWrapper();";
-  protected final String TEXT_544 = NL + "\t\treturn super.eGet(featureID, resolve, coreType);";
-  protected final String TEXT_545 = NL + "\t\treturn eDynamicGet(featureID, resolve, coreType);";
-  protected final String TEXT_546 = NL + "\tpublic void eSet(int featureID, Object newValue)" + NL + "\t{" + NL + "\t\tswitch (featureID";
-  protected final String TEXT_547 = NL + "\t\t\t\t((";
-  protected final String TEXT_548 = "()).featureMap()).set(newValue);";
-  protected final String TEXT_549 = "()).set(newValue);";
-  protected final String TEXT_550 = ".Setting)((";
-  protected final String TEXT_551 = "()).eMap()).set(newValue);";
-  protected final String TEXT_552 = ".Setting)";
-  protected final String TEXT_553 = "().clear();" + NL + "\t\t\t\t";
-  protected final String TEXT_554 = "().addAll((";
-  protected final String TEXT_555 = "<? extends ";
-  protected final String TEXT_556 = ">";
-  protected final String TEXT_557 = ")newValue);";
-  protected final String TEXT_558 = NL + "\t\t\t\tset";
-  protected final String TEXT_559 = "(((";
-  protected final String TEXT_560 = ")newValue).";
-  protected final String TEXT_561 = "newValue);";
-  protected final String TEXT_562 = NL + "\t\t\t\treturn;";
-  protected final String TEXT_563 = NL + "\t\tsuper.eSet(featureID, newValue);";
-  protected final String TEXT_564 = NL + "\t\teDynamicSet(featureID, newValue);";
-  protected final String TEXT_565 = NL + "\tpublic void eUnset(int featureID)" + NL + "\t{" + NL + "\t\tswitch (featureID";
-  protected final String TEXT_566 = "()).featureMap().clear();";
-  protected final String TEXT_567 = "().clear();";
-  protected final String TEXT_568 = NL + "\t\t\t\tunset";
-  protected final String TEXT_569 = ")null);";
-  protected final String TEXT_570 = NL + "\t\tsuper.eUnset(featureID);";
-  protected final String TEXT_571 = NL + "\t\teDynamicUnset(featureID);";
-  protected final String TEXT_572 = NL + "\tpublic boolean eIsSet(int featureID)" + NL + "\t{" + NL + "\t\tswitch (featureID";
-  protected final String TEXT_573 = NL + "\t\t\t\treturn isSet";
-  protected final String TEXT_574 = NL + "\t\t\t\treturn !((";
-  protected final String TEXT_575 = "()).featureMap().isEmpty();";
-  protected final String TEXT_576 = " != null && !";
-  protected final String TEXT_577 = ".featureMap().isEmpty();";
-  protected final String TEXT_578 = ".isEmpty();";
-  protected final String TEXT_579 = ");" + NL + "\t\t\t\treturn ";
-  protected final String TEXT_580 = NL + "\t\t\t\treturn !";
-  protected final String TEXT_581 = "().isEmpty();";
-  protected final String TEXT_582 = " != null;";
-  protected final String TEXT_583 = NL + "\t\t\t\treturn eVirtualGet(";
-  protected final String TEXT_584 = ") != null;";
-  protected final String TEXT_585 = NL + "\t\t\t\treturn basicGet";
-  protected final String TEXT_586 = "() != null;";
-  protected final String TEXT_587 = "_EFLAG) != 0) != ";
-  protected final String TEXT_588 = "_EFLAG) != ";
-  protected final String TEXT_589 = ") != ";
-  protected final String TEXT_590 = "() != ";
-  protected final String TEXT_591 = " != null : !";
-  protected final String TEXT_592 = ".equals(";
-  protected final String TEXT_593 = "() != null : !";
-  protected final String TEXT_594 = NL + "\t\treturn super.eIsSet(featureID);";
-  protected final String TEXT_595 = NL + "\t\treturn eDynamicIsSet(featureID);";
-  protected final String TEXT_596 = NL + "\tpublic int eBaseStructuralFeatureID(int derivedFeatureID, Class";
-  protected final String TEXT_597 = " baseClass)" + NL + "\t{";
-  protected final String TEXT_598 = NL + "\t\tif (baseClass == ";
-  protected final String TEXT_599 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (derivedFeatureID";
-  protected final String TEXT_600 = NL + "\t\t\t\tcase ";
-  protected final String TEXT_601 = ": return ";
-  protected final String TEXT_602 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
-  protected final String TEXT_603 = NL + "\t\treturn super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);" + NL + "\t}";
-  protected final String TEXT_604 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_605 = NL + "\tpublic int eDerivedStructuralFeatureID(int baseFeatureID, Class";
-  protected final String TEXT_606 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID)" + NL + "\t\t\t{";
-  protected final String TEXT_607 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID";
-  protected final String TEXT_608 = NL + "\t\treturn super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);" + NL + "\t}" + NL;
-  protected final String TEXT_609 = NL + "\tpublic int eDerivedOperationID(int baseOperationID, Class";
-  protected final String TEXT_610 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";
-  protected final String TEXT_611 = NL + "\t\t\t\tdefault: return super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t\t\t}" + NL + "\t\t}";
-  protected final String TEXT_612 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID";
-  protected final String TEXT_613 = NL + "\t\treturn super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t}" + NL;
-  protected final String TEXT_614 = NL + "\tprotected Object[] eVirtualValues()" + NL + "\t{" + NL + "\t\treturn ";
-  protected final String TEXT_615 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_616 = NL + "\tprotected void eSetVirtualValues(Object[] newValues)" + NL + "\t{" + NL + "\t\t";
-  protected final String TEXT_617 = " = newValues;" + NL + "\t}" + NL;
-  protected final String TEXT_618 = NL + "\tprotected int eVirtualIndexBits(int offset)" + NL + "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";
-  protected final String TEXT_619 = " :" + NL + "\t\t\t\treturn ";
-  protected final String TEXT_620 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_621 = NL + "\tprotected void eSetVirtualIndexBits(int offset, int newIndexBits)" + NL + "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";
-  protected final String TEXT_622 = " :" + NL + "\t\t\t\t";
-  protected final String TEXT_623 = " = newIndexBits;" + NL + "\t\t\t\tbreak;";
-  protected final String TEXT_624 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();" + NL + "\t\t}" + NL + "\t}" + NL;
-  protected final String TEXT_625 = NL + "\t@SuppressWarnings(";
-  protected final String TEXT_626 = "\"unchecked\"";
-  protected final String TEXT_627 = "{\"rawtypes\", \"unchecked\" }";
-  protected final String TEXT_628 = NL + "\tpublic Object eInvoke(int operationID, ";
-  protected final String TEXT_629 = " arguments) throws ";
-  protected final String TEXT_630 = NL + "\t{" + NL + "\t\tswitch (operationID";
-  protected final String TEXT_631 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{";
-  protected final String TEXT_632 = "arguments.get(";
-  protected final String TEXT_633 = ");" + NL + "\t\t\t\t";
-  protected final String TEXT_634 = "return null;";
-  protected final String TEXT_635 = "return ";
-  protected final String TEXT_636 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";
-  protected final String TEXT_637 = " throwable)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tthrow new ";
-  protected final String TEXT_638 = "(throwable);" + NL + "\t\t\t\t}";
-  protected final String TEXT_639 = NL + "\t\treturn super.eInvoke(operationID, arguments);";
-  protected final String TEXT_640 = NL + "\t\treturn eDynamicInvoke(operationID, arguments);";
-  protected final String TEXT_641 = NL + "\tpublic String toString()" + NL + "\t{" + NL + "\t\tif (eIsProxy()) return super.toString();" + NL + "" + NL + "\t\t";
-  protected final String TEXT_642 = " result = new ";
-  protected final String TEXT_643 = "(super.toString());";
-  protected final String TEXT_644 = NL + "\t\tresult.append(\" (";
-  protected final String TEXT_645 = ": \");";
-  protected final String TEXT_646 = NL + "\t\tresult.append(\", ";
-  protected final String TEXT_647 = NL + "\t\tif (eVirtualIsSet(";
-  protected final String TEXT_648 = ")) result.append(eVirtualGet(";
-  protected final String TEXT_649 = ")); else result.append(\"<unset>\");";
-  protected final String TEXT_650 = "_ESETFLAG) != 0";
-  protected final String TEXT_651 = ") result.append((";
-  protected final String TEXT_652 = "_EFLAG) != 0); else result.append(\"<unset>\");";
-  protected final String TEXT_653 = ") result.append(";
-  protected final String TEXT_654 = "_EFLAG_OFFSET]); else result.append(\"<unset>\");";
-  protected final String TEXT_655 = "); else result.append(\"<unset>\");";
-  protected final String TEXT_656 = NL + "\t\tresult.append(eVirtualGet(";
-  protected final String TEXT_657 = NL + "\t\tresult.append((";
-  protected final String TEXT_658 = "_EFLAG) != 0);";
-  protected final String TEXT_659 = NL + "\t\tresult.append(";
-  protected final String TEXT_660 = "_EFLAG_OFFSET]);";
-  protected final String TEXT_661 = NL + "\t\tresult.append(')');" + NL + "\t\treturn result.toString();" + NL + "\t}" + NL;
-  protected final String TEXT_662 = NL + "\tprotected int hash = -1;" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_663 = NL + "\tpublic int getHash()" + NL + "\t{" + NL + "\t\tif (hash == -1)" + NL + "\t\t{" + NL + "\t\t\t";
-  protected final String TEXT_664 = " theKey = getKey();" + NL + "\t\t\thash = (theKey == null ? 0 : theKey.hashCode());" + NL + "\t\t}" + NL + "\t\treturn hash;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_665 = NL + "\tpublic void setHash(int hash)" + NL + "\t{" + NL + "\t\tthis.hash = hash;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_666 = " getKey()" + NL + "\t{";
-  protected final String TEXT_667 = "(getTypedKey());";
-  protected final String TEXT_668 = NL + "\t\treturn getTypedKey();";
-  protected final String TEXT_669 = NL + "\tpublic void setKey(";
-  protected final String TEXT_670 = " key)" + NL + "\t{";
-  protected final String TEXT_671 = NL + "\t\tgetTypedKey().addAll(";
-  protected final String TEXT_672 = "key);";
-  protected final String TEXT_673 = NL + "\t\tsetTypedKey(key);";
-  protected final String TEXT_674 = NL + "\t\tsetTypedKey(((";
-  protected final String TEXT_675 = ")key).";
-  protected final String TEXT_676 = NL + "\t\tsetTypedKey((";
-  protected final String TEXT_677 = ")key);";
-  protected final String TEXT_678 = " getValue()" + NL + "\t{";
-  protected final String TEXT_679 = "(getTypedValue());";
-  protected final String TEXT_680 = NL + "\t\treturn getTypedValue();";
-  protected final String TEXT_681 = " setValue(";
-  protected final String TEXT_682 = " value)" + NL + "\t{" + NL + "\t\t";
-  protected final String TEXT_683 = " oldValue = getValue();";
-  protected final String TEXT_684 = NL + "\t\tgetTypedValue().clear();" + NL + "\t\tgetTypedValue().addAll(";
-  protected final String TEXT_685 = "value);";
-  protected final String TEXT_686 = NL + "\t\tsetTypedValue(value);";
-  protected final String TEXT_687 = NL + "\t\tsetTypedValue(((";
-  protected final String TEXT_688 = ")value).";
-  protected final String TEXT_689 = NL + "\t\tsetTypedValue((";
-  protected final String TEXT_690 = ")value);";
-  protected final String TEXT_691 = NL + "\t\treturn oldValue;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_692 = " getEMap()" + NL + "\t{" + NL + "\t\t";
-  protected final String TEXT_693 = " container = eContainer();" + NL + "\t\treturn container == null ? null : (";
-  protected final String TEXT_694 = ")container.eGet(eContainmentFeature());" + NL + "\t}" + NL;
-  protected final String TEXT_695 = NL + "} //";
+  protected final String TEXT_203 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+  protected final String TEXT_204 = NL + "\t * <!-- begin-model-doc -->" + NL + "\t * ";
+  protected final String TEXT_205 = NL + "\t * <!-- end-model-doc -->";
+  protected final String TEXT_206 = NL + "\t * @return the value of the '<em>";
+  protected final String TEXT_207 = "</em>' ";
+  protected final String TEXT_208 = NL + "\t * @see ";
+  protected final String TEXT_209 = NL + "\t * @see #isSet";
+  protected final String TEXT_210 = NL + "\t * @see #unset";
+  protected final String TEXT_211 = NL + "\t * @see #set";
+  protected final String TEXT_212 = NL + "\t * @model ";
+  protected final String TEXT_213 = NL + "\t *        ";
+  protected final String TEXT_214 = NL + "\t * @model";
+  protected final String TEXT_215 = ")eDynamicGet(";
+  protected final String TEXT_216 = " - ESTATIC_FEATURE_COUNT";
+  protected final String TEXT_217 = ", true, ";
+  protected final String TEXT_218 = ").";
+  protected final String TEXT_219 = ")eGet(";
+  protected final String TEXT_220 = ", true)";
+  protected final String TEXT_221 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false)";
+  protected final String TEXT_222 = NL + "\t\tif (eContainerFeatureID() != ";
+  protected final String TEXT_223 = ") return null;" + NL + "\t\treturn (";
+  protected final String TEXT_224 = "eContainer";
+  protected final String TEXT_225 = "eInternalContainer";
+  protected final String TEXT_226 = "();";
+  protected final String TEXT_227 = " != null && ";
+  protected final String TEXT_228 = ".eIsProxy())" + NL + "\t\t{" + NL + "\t\t\t";
+  protected final String TEXT_229 = " old";
+  protected final String TEXT_230 = ";" + NL + "\t\t\t";
+  protected final String TEXT_231 = "eResolveProxy(old";
+  protected final String TEXT_232 = ");" + NL + "\t\t\tif (";
+  protected final String TEXT_233 = " != old";
+  protected final String TEXT_234 = ")" + NL + "\t\t\t{";
+  protected final String TEXT_235 = NL + "\t\t\t\t";
+  protected final String TEXT_236 = " msgs = old";
+  protected final String TEXT_237 = ".eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ";
+  protected final String TEXT_238 = ", null, null);";
+  protected final String TEXT_239 = " msgs =  old";
+  protected final String TEXT_240 = ".eInverseRemove(this, ";
+  protected final String TEXT_241 = ".class, null);";
+  protected final String TEXT_242 = NL + "\t\t\t\tif (new";
+  protected final String TEXT_243 = ".eInternalContainer() == null)" + NL + "\t\t\t\t{";
+  protected final String TEXT_244 = NL + "\t\t\t\t\tmsgs = new";
+  protected final String TEXT_245 = ".eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ";
+  protected final String TEXT_246 = ", null, msgs);";
+  protected final String TEXT_247 = NL + "\t\t\t\t\tmsgs =  new";
+  protected final String TEXT_248 = ".eInverseAdd(this, ";
+  protected final String TEXT_249 = ".class, msgs);";
+  protected final String TEXT_250 = NL + "\t\t\t\t}" + NL + "\t\t\t\tif (msgs != null) msgs.dispatch();";
+  protected final String TEXT_251 = NL + "\t\t\t\teVirtualSet(";
+  protected final String TEXT_252 = NL + "\t\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\t\teNotify(new ";
+  protected final String TEXT_253 = "(this, ";
+  protected final String TEXT_254 = ".RESOLVE, ";
+  protected final String TEXT_255 = ", old";
+  protected final String TEXT_256 = "));";
+  protected final String TEXT_257 = NL + "\t\t\t}" + NL + "\t\t}";
+  protected final String TEXT_258 = NL + "\t\treturn (";
+  protected final String TEXT_259 = " & ";
+  protected final String TEXT_260 = "_EFLAG) != 0;";
+  protected final String TEXT_261 = "_EFLAG_VALUES[(";
+  protected final String TEXT_262 = "_EFLAG) >>> ";
+  protected final String TEXT_263 = "_EFLAG_OFFSET];";
+  protected final String TEXT_264 = " = basicGet";
+  protected final String TEXT_265 = "();" + NL + "\t\treturn ";
+  protected final String TEXT_266 = ".eIsProxy() ? ";
+  protected final String TEXT_267 = "eResolveProxy(";
+  protected final String TEXT_268 = ") : ";
+  protected final String TEXT_269 = NL + "\t\treturn new ";
+  protected final String TEXT_270 = "((";
+  protected final String TEXT_271 = ".Internal)((";
+  protected final String TEXT_272 = ".Internal.Wrapper)get";
+  protected final String TEXT_273 = "()).featureMap().";
+  protected final String TEXT_274 = "list(";
+  protected final String TEXT_275 = ")get";
+  protected final String TEXT_276 = "().";
+  protected final String TEXT_277 = NL + "\t\treturn ((";
+  protected final String TEXT_278 = "()).featureMap().list(";
+  protected final String TEXT_279 = NL + "\t\treturn get";
+  protected final String TEXT_280 = "().list(";
+  protected final String TEXT_281 = "()).featureMap().get(";
+  protected final String TEXT_282 = "get";
+  protected final String TEXT_283 = "().get(";
+  protected final String TEXT_284 = NL + "\t\t// TODO: implement this method to return the '";
+  protected final String TEXT_285 = "' ";
+  protected final String TEXT_286 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT";
+  protected final String TEXT_287 = NL + "\t\t// The list is expected to implement org.eclipse.emf.ecore.util.InternalEList and org.eclipse.emf.ecore.EStructuralFeature.Setting" + NL + "\t\t// so it's likely that an appropriate subclass of org.eclipse.emf.ecore.util.";
+  protected final String TEXT_288 = "EcoreEMap";
+  protected final String TEXT_289 = "BasicFeatureMap";
+  protected final String TEXT_290 = "EcoreEList";
+  protected final String TEXT_291 = " should be used.";
+  protected final String TEXT_292 = NL + "\t\tthrow new UnsupportedOperationException();";
+  protected final String TEXT_293 = " basicGet";
+  protected final String TEXT_294 = ", false, ";
+  protected final String TEXT_295 = "__ESETTING_DELEGATE.dynamicGet(this, null, 0, false, false)";
+  protected final String TEXT_296 = ")eInternalContainer();";
+  protected final String TEXT_297 = ")((";
+  protected final String TEXT_298 = ", false);";
+  protected final String TEXT_299 = NL + "\t\t// -> do not perform proxy resolution" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new UnsupportedOperationException();";
+  protected final String TEXT_300 = " msgs)" + NL + "\t{";
+  protected final String TEXT_301 = NL + "\t\tmsgs = eBasicSetContainer(";
+  protected final String TEXT_302 = ", msgs);";
+  protected final String TEXT_303 = NL + "\t\treturn msgs;";
+  protected final String TEXT_304 = NL + "\t\tmsgs = eDynamicInverseAdd(";
+  protected final String TEXT_305 = NL + "\t\tObject old";
+  protected final String TEXT_306 = " = eVirtualSet(";
+  protected final String TEXT_307 = ", new";
+  protected final String TEXT_308 = ";" + NL + "\t\t";
+  protected final String TEXT_309 = " = new";
+  protected final String TEXT_310 = NL + "\t\tboolean isSetChange = old";
+  protected final String TEXT_311 = " == EVIRTUAL_NO_VALUE;";
+  protected final String TEXT_312 = NL + "\t\tboolean old";
+  protected final String TEXT_313 = "ESet = (";
+  protected final String TEXT_314 = "_ESETFLAG) != 0;";
+  protected final String TEXT_315 = "_ESETFLAG;";
+  protected final String TEXT_316 = "ESet = ";
+  protected final String TEXT_317 = "ESet;";
+  protected final String TEXT_318 = "ESet = true;";
+  protected final String TEXT_319 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{";
+  protected final String TEXT_320 = " notification = new ";
+  protected final String TEXT_321 = ".SET, ";
+  protected final String TEXT_322 = "isSetChange ? null : old";
+  protected final String TEXT_323 = "old";
+  protected final String TEXT_324 = "isSetChange";
+  protected final String TEXT_325 = "!old";
+  protected final String TEXT_326 = "ESet";
+  protected final String TEXT_327 = " == EVIRTUAL_NO_VALUE ? null : old";
+  protected final String TEXT_328 = NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}";
+  protected final String TEXT_329 = "()).featureMap()).basicAdd(";
+  protected final String TEXT_330 = ".Internal)get";
+  protected final String TEXT_331 = "()).basicAdd(";
+  protected final String TEXT_332 = NL + "\t\t// TODO: implement this method to set the contained '";
+  protected final String TEXT_333 = NL + "\t\t// -> this method is automatically invoked to keep the containment relationship in synch" + NL + "\t\t// -> do not modify other features" + NL + "\t\t// -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first)" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new UnsupportedOperationException();";
+  protected final String TEXT_334 = NL + "\t/**" + NL + "\t * Sets the value of the '{@link ";
+  protected final String TEXT_335 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param value the new value of the '<em>";
+  protected final String TEXT_336 = NL + "\t * @see #";
+  protected final String TEXT_337 = " value);" + NL;
+  protected final String TEXT_338 = ")" + NL + "\t{";
+  protected final String TEXT_339 = NL + "\t\teDynamicSet(";
+  protected final String TEXT_340 = "new ";
+  protected final String TEXT_341 = "new";
+  protected final String TEXT_342 = NL + "\t\teSet(";
+  protected final String TEXT_343 = "__ESETTING_DELEGATE.dynamicSet(this, null, 0, ";
+  protected final String TEXT_344 = NL + "\t\tif (new";
+  protected final String TEXT_345 = " != eInternalContainer() || (eContainerFeatureID() != ";
+  protected final String TEXT_346 = " && new";
+  protected final String TEXT_347 = " != null))" + NL + "\t\t{" + NL + "\t\t\tif (";
+  protected final String TEXT_348 = ".isAncestor(this, ";
+  protected final String TEXT_349 = "))" + NL + "\t\t\t\tthrow new ";
+  protected final String TEXT_350 = "(\"Recursive containment not allowed for \" + toString());";
+  protected final String TEXT_351 = " msgs = null;" + NL + "\t\t\tif (eInternalContainer() != null)" + NL + "\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);" + NL + "\t\t\tif (new";
+  protected final String TEXT_352 = " != null)" + NL + "\t\t\t\tmsgs = ";
+  protected final String TEXT_353 = ".class, msgs);" + NL + "\t\t\tmsgs = basicSet";
+  protected final String TEXT_354 = ", msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}";
+  protected final String TEXT_355 = NL + "\t\telse if (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+  protected final String TEXT_356 = " != ";
+  protected final String TEXT_357 = ")" + NL + "\t\t{" + NL + "\t\t\t";
+  protected final String TEXT_358 = " msgs = null;" + NL + "\t\t\tif (";
+  protected final String TEXT_359 = " != null)";
+  protected final String TEXT_360 = NL + "\t\t\t\tmsgs = ";
+  protected final String TEXT_361 = ", null, msgs);" + NL + "\t\t\tif (new";
+  protected final String TEXT_362 = ".class, msgs);" + NL + "\t\t\tif (new";
+  protected final String TEXT_363 = NL + "\t\t\tmsgs = basicSet";
+  protected final String TEXT_364 = NL + "\t\telse" + NL + "\t\t{";
+  protected final String TEXT_365 = NL + "\t\t\tboolean old";
+  protected final String TEXT_366 = "ESet = eVirtualIsSet(";
+  protected final String TEXT_367 = NL + "\t\t\tif (eNotificationRequired())" + NL + "\t\t\t\teNotify(new ";
+  protected final String TEXT_368 = ", !old";
+  protected final String TEXT_369 = "ESet));";
+  protected final String TEXT_370 = NL + "\t\t}";
+  protected final String TEXT_371 = ") ";
+  protected final String TEXT_372 = "_EFLAG; else ";
+  protected final String TEXT_373 = " &= ~";
+  protected final String TEXT_374 = "_EFLAG;";
+  protected final String TEXT_375 = " == null) new";
+  protected final String TEXT_376 = "_EDEFAULT;" + NL + "\t\t";
+  protected final String TEXT_377 = " & ~";
+  protected final String TEXT_378 = "_EFLAG | ";
+  protected final String TEXT_379 = ".VALUES.indexOf(new";
+  protected final String TEXT_380 = "_EFLAG_OFFSET;";
+  protected final String TEXT_381 = " == null ? ";
+  protected final String TEXT_382 = " : new";
+  protected final String TEXT_383 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t\teNotify(new ";
+  protected final String TEXT_384 = "isSetChange ? ";
+  protected final String TEXT_385 = " : old";
+  protected final String TEXT_386 = " == EVIRTUAL_NO_VALUE ? ";
+  protected final String TEXT_387 = NL + "\t\t((";
+  protected final String TEXT_388 = "()).featureMap()).set(";
+  protected final String TEXT_389 = "()).set(";
+  protected final String TEXT_390 = NL + "\t\t// TODO: implement this method to set the '";
+  protected final String TEXT_391 = NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new UnsupportedOperationException();";
+  protected final String TEXT_392 = " basicUnset";
+  protected final String TEXT_393 = NL + "\t\treturn eDynamicInverseRemove(";
+  protected final String TEXT_394 = "basicGet";
+  protected final String TEXT_395 = "(), ";
+  protected final String TEXT_396 = "Object old";
+  protected final String TEXT_397 = "eVirtualUnset(";
+  protected final String TEXT_398 = " = null;";
+  protected final String TEXT_399 = " != EVIRTUAL_NO_VALUE;";
+  protected final String TEXT_400 = "ESet = false;";
+  protected final String TEXT_401 = NL + "\t\tif (eNotificationRequired())" + NL + "\t\t{" + NL + "\t\t\t";
+  protected final String TEXT_402 = ".UNSET, ";
+  protected final String TEXT_403 = "isSetChange ? old";
+  protected final String TEXT_404 = " : null";
+  protected final String TEXT_405 = ", null, ";
+  protected final String TEXT_406 = ");" + NL + "\t\t\tif (msgs == null) msgs = notification; else msgs.add(notification);" + NL + "\t\t}" + NL + "\t\treturn msgs;";
+  protected final String TEXT_407 = NL + "\t\t// TODO: implement this method to unset the contained '";
+  protected final String TEXT_408 = NL + "\t/**" + NL + "\t * Unsets the value of the '{@link ";
+  protected final String TEXT_409 = NL + "\tvoid unset";
+  protected final String TEXT_410 = NL + "\tpublic void unset";
+  protected final String TEXT_411 = NL + "\t\teDynamicUnset(";
+  protected final String TEXT_412 = NL + "\t\teUnset(";
+  protected final String TEXT_413 = "__ESETTING_DELEGATE.dynamicUnset(this, null, 0);";
+  protected final String TEXT_414 = " != null) ((";
+  protected final String TEXT_415 = ".Unsettable";
+  protected final String TEXT_416 = ").unset();";
+  protected final String TEXT_417 = " != null)" + NL + "\t\t{" + NL + "\t\t\t";
+  protected final String TEXT_418 = " msgs = null;";
+  protected final String TEXT_419 = NL + "\t\t\tmsgs = ";
+  protected final String TEXT_420 = NL + "\t\t\tmsgs = basicUnset";
+  protected final String TEXT_421 = "(msgs);" + NL + "\t\t\tif (msgs != null) msgs.dispatch();" + NL + "\t\t}" + NL + "\t\telse" + NL + "\t\t{";
+  protected final String TEXT_422 = ", null, null, old";
+  protected final String TEXT_423 = " = eVirtualUnset(";
+  protected final String TEXT_424 = "_EFLAG_DEFAULT;";
+  protected final String TEXT_425 = " : ";
+  protected final String TEXT_426 = "()).featureMap()).clear(";
+  protected final String TEXT_427 = "()).clear(";
+  protected final String TEXT_428 = NL + "\t\t// TODO: implement this method to unset the '";
+  protected final String TEXT_429 = NL + "\t/**" + NL + "\t * Returns whether the value of the '{@link ";
+  protected final String TEXT_430 = " is set.";
+  protected final String TEXT_431 = NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @return whether the value of the '<em>";
+  protected final String TEXT_432 = NL + "\tboolean isSet";
+  protected final String TEXT_433 = NL + "\tpublic boolean isSet";
+  protected final String TEXT_434 = NL + "\t\treturn eDynamicIsSet(";
+  protected final String TEXT_435 = NL + "\t\treturn eIsSet(";
+  protected final String TEXT_436 = "__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);";
+  protected final String TEXT_437 = " != null && ((";
+  protected final String TEXT_438 = ").isSet();";
+  protected final String TEXT_439 = NL + "\t\treturn eVirtualIsSet(";
+  protected final String TEXT_440 = NL + "\t\treturn !((";
+  protected final String TEXT_441 = "()).featureMap()).isEmpty(";
+  protected final String TEXT_442 = "()).isEmpty(";
+  protected final String TEXT_443 = NL + "\t\t// TODO: implement this method to return whether the '";
+  protected final String TEXT_444 = " is set" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new UnsupportedOperationException();";
+  protected final String TEXT_445 = NL + "\t/**" + NL + "\t * The cached validation expression for the '{@link #";
+  protected final String TEXT_446 = ") <em>";
+  protected final String TEXT_447 = "</em>}' invariant operation." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+  protected final String TEXT_448 = "__EEXPRESSION = \"";
+  protected final String TEXT_449 = NL + "\t/**" + NL + "\t * The cached invocation delegate for the '{@link #";
+  protected final String TEXT_450 = "</em>}' operation." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+  protected final String TEXT_451 = ".Internal.InvocationDelegate ";
+  protected final String TEXT_452 = "__EINVOCATION_DELEGATE = ((";
+  protected final String TEXT_453 = ").getInvocationDelegate();" + NL;
+  protected final String TEXT_454 = NL + "\t/**";
+  protected final String TEXT_455 = NL + "\t * <!-- begin-model-doc -->";
+  protected final String TEXT_456 = NL + "\t * @param ";
+  protected final String TEXT_457 = NL + "\t *   ";
+  protected final String TEXT_458 = NL + "\t{";
+  protected final String TEXT_459 = NL + "\t\treturn" + NL + "\t\t\t";
+  protected final String TEXT_460 = ".validate" + NL + "\t\t\t\t(";
+  protected final String TEXT_461 = "," + NL + "\t\t\t\t this," + NL + "\t\t\t\t ";
+  protected final String TEXT_462 = "," + NL + "\t\t\t\t ";
+  protected final String TEXT_463 = "," + NL + "\t\t\t\t \"";
+  protected final String TEXT_464 = "\",";
+  protected final String TEXT_465 = NL + "\t\t\t\t ";
+  protected final String TEXT_466 = "__EEXPRESSION," + NL + "\t\t\t\t ";
+  protected final String TEXT_467 = ".ERROR," + NL + "\t\t\t\t ";
+  protected final String TEXT_468 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t ";
+  protected final String TEXT_469 = NL + "\t\t// TODO: implement this method" + NL + "\t\t// -> specify the condition that violates the invariant" + NL + "\t\t// -> verify the details of the diagnostic, including severity and message" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tif (false)" + NL + "\t\t{" + NL + "\t\t\tif (";
+  protected final String TEXT_470 = " != null)" + NL + "\t\t\t{" + NL + "\t\t\t\t";
+  protected final String TEXT_471 = ".add" + NL + "\t\t\t\t\t(new ";
+  protected final String TEXT_472 = NL + "\t\t\t\t\t\t(";
+  protected final String TEXT_473 = ".ERROR," + NL + "\t\t\t\t\t\t ";
+  protected final String TEXT_474 = ".DIAGNOSTIC_SOURCE," + NL + "\t\t\t\t\t\t ";
+  protected final String TEXT_475 = "," + NL + "\t\t\t\t\t\t ";
+  protected final String TEXT_476 = ".INSTANCE.getString(\"_UI_GenericInvariant_diagnostic\", new Object[] { \"";
+  protected final String TEXT_477 = "\", ";
+  protected final String TEXT_478 = ".getObjectLabel(this, ";
+  protected final String TEXT_479 = ") }),";
+  protected final String TEXT_480 = NL + "\t\t\t\t\t\t new Object [] { this }));" + NL + "\t\t\t}" + NL + "\t\t\treturn false;" + NL + "\t\t}" + NL + "\t\treturn true;";
+  protected final String TEXT_481 = NL + "\t\ttry" + NL + "\t\t{";
+  protected final String TEXT_482 = "__EINVOCATION_DELEGATE.dynamicInvoke(this, ";
+  protected final String TEXT_483 = ".UnmodifiableEList<Object>(";
+  protected final String TEXT_484 = "null";
+  protected final String TEXT_485 = NL + "\t\t\treturn ";
+  protected final String TEXT_486 = NL + "\t\t}" + NL + "\t\tcatch (";
+  protected final String TEXT_487 = " ite)" + NL + "\t\t{" + NL + "\t\t\tthrow new ";
+  protected final String TEXT_488 = "(ite);" + NL + "\t\t}";
+  protected final String TEXT_489 = NL + "\t\t// TODO: implement this method" + NL + "\t\t// Ensure that you remove @generated or mark it @generated NOT" + NL + "\t\tthrow new UnsupportedOperationException();";
+  protected final String TEXT_490 = " eInverseAdd(";
+  protected final String TEXT_491 = " otherEnd, int featureID, ";
+  protected final String TEXT_492 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+  protected final String TEXT_493 = ")" + NL + "\t\t{";
+  protected final String TEXT_494 = NL + "\t\t\tcase ";
+  protected final String TEXT_495 = ":";
+  protected final String TEXT_496 = NL + "\t\t\t\treturn ((";
+  protected final String TEXT_497 = ".InternalMapView";
+  protected final String TEXT_498 = "()).eMap()).basicAdd(otherEnd, msgs);";
+  protected final String TEXT_499 = NL + "\t\t\t\treturn (";
+  protected final String TEXT_500 = "()).basicAdd(otherEnd, msgs);";
+  protected final String TEXT_501 = NL + "\t\t\t\tif (eInternalContainer() != null)" + NL + "\t\t\t\t\tmsgs = eBasicRemoveFromContainer(msgs);";
+  protected final String TEXT_502 = NL + "\t\t\t\treturn basicSet";
+  protected final String TEXT_503 = ")otherEnd, msgs);";
+  protected final String TEXT_504 = NL + "\t\t\t\treturn eBasicSetContainer(otherEnd, ";
+  protected final String TEXT_505 = NL + "\t\t\t\tif (";
+  protected final String TEXT_506 = NL + "\t\t\t\t\tmsgs = ";
+  protected final String TEXT_507 = NL + "\t\treturn super.eInverseAdd(otherEnd, featureID, msgs);";
+  protected final String TEXT_508 = NL + "\t\treturn eDynamicInverseAdd(otherEnd, featureID, msgs);";
+  protected final String TEXT_509 = " eInverseRemove(";
+  protected final String TEXT_510 = "()).eMap()).basicRemove(otherEnd, msgs);";
+  protected final String TEXT_511 = ".Internal.Wrapper)";
+  protected final String TEXT_512 = "()).featureMap()).basicRemove(otherEnd, msgs);";
+  protected final String TEXT_513 = "()).basicRemove(otherEnd, msgs);";
+  protected final String TEXT_514 = NL + "\t\t\t\treturn eBasicSetContainer(null, ";
+  protected final String TEXT_515 = NL + "\t\t\t\treturn basicUnset";
+  protected final String TEXT_516 = "(msgs);";
+  protected final String TEXT_517 = "(null, msgs);";
+  protected final String TEXT_518 = NL + "\t\treturn super.eInverseRemove(otherEnd, featureID, msgs);";
+  protected final String TEXT_519 = NL + "\t\treturn eDynamicInverseRemove(otherEnd, featureID, msgs);";
+  protected final String TEXT_520 = " eBasicRemoveFromContainerFeature(";
+  protected final String TEXT_521 = " msgs)" + NL + "\t{" + NL + "\t\tswitch (eContainerFeatureID()";
+  protected final String TEXT_522 = ":" + NL + "\t\t\t\treturn eInternalContainer().eInverseRemove(this, ";
+  protected final String TEXT_523 = NL + "\t\treturn super.eBasicRemoveFromContainerFeature(msgs);";
+  protected final String TEXT_524 = NL + "\t\treturn eDynamicBasicRemoveFromContainer(msgs);";
+  protected final String TEXT_525 = NL + "\tpublic Object eGet(int featureID, boolean resolve, boolean coreType)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+  protected final String TEXT_526 = NL + "\t\t\t\treturn ";
+  protected final String TEXT_527 = "() ? Boolean.TRUE : Boolean.FALSE;";
+  protected final String TEXT_528 = NL + "\t\t\t\treturn new ";
+  protected final String TEXT_529 = "());";
+  protected final String TEXT_530 = NL + "\t\t\t\tif (resolve) return ";
+  protected final String TEXT_531 = "();" + NL + "\t\t\t\treturn basicGet";
+  protected final String TEXT_532 = NL + "\t\t\t\tif (coreType) return ((";
+  protected final String TEXT_533 = "()).eMap();" + NL + "\t\t\t\telse return ";
+  protected final String TEXT_534 = NL + "\t\t\t\tif (coreType) return ";
+  protected final String TEXT_535 = "();" + NL + "\t\t\t\telse return ";
+  protected final String TEXT_536 = "().map();";
+  protected final String TEXT_537 = "()).featureMap();" + NL + "\t\t\t\treturn ";
+  protected final String TEXT_538 = "();" + NL + "\t\t\t\treturn ((";
+  protected final String TEXT_539 = "()).getWrapper();";
+  protected final String TEXT_540 = NL + "\t\treturn super.eGet(featureID, resolve, coreType);";
+  protected final String TEXT_541 = NL + "\t\treturn eDynamicGet(featureID, resolve, coreType);";
+  protected final String TEXT_542 = NL + "\tpublic void eSet(int featureID, Object newValue)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+  protected final String TEXT_543 = NL + "\t\t\t\t((";
+  protected final String TEXT_544 = "()).featureMap()).set(newValue);";
+  protected final String TEXT_545 = "()).set(newValue);";
+  protected final String TEXT_546 = ".Setting)((";
+  protected final String TEXT_547 = "()).eMap()).set(newValue);";
+  protected final String TEXT_548 = ".Setting)";
+  protected final String TEXT_549 = "().clear();" + NL + "\t\t\t\t";
+  protected final String TEXT_550 = "().addAll((";
+  protected final String TEXT_551 = "<? extends ";
+  protected final String TEXT_552 = ">";
+  protected final String TEXT_553 = ")newValue);";
+  protected final String TEXT_554 = NL + "\t\t\t\tset";
+  protected final String TEXT_555 = "(((";
+  protected final String TEXT_556 = ")newValue).";
+  protected final String TEXT_557 = "newValue);";
+  protected final String TEXT_558 = NL + "\t\t\t\treturn;";
+  protected final String TEXT_559 = NL + "\t\tsuper.eSet(featureID, newValue);";
+  protected final String TEXT_560 = NL + "\t\teDynamicSet(featureID, newValue);";
+  protected final String TEXT_561 = NL + "\tpublic void eUnset(int featureID)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+  protected final String TEXT_562 = "()).featureMap().clear();";
+  protected final String TEXT_563 = "().clear();";
+  protected final String TEXT_564 = NL + "\t\t\t\tunset";
+  protected final String TEXT_565 = ")null);";
+  protected final String TEXT_566 = NL + "\t\tsuper.eUnset(featureID);";
+  protected final String TEXT_567 = NL + "\t\teDynamicUnset(featureID);";
+  protected final String TEXT_568 = NL + "\tpublic boolean eIsSet(int featureID)" + NL + "\t{" + NL + "\t\tswitch (featureID";
+  protected final String TEXT_569 = NL + "\t\t\t\treturn isSet";
+  protected final String TEXT_570 = NL + "\t\t\t\treturn !((";
+  protected final String TEXT_571 = "()).featureMap().isEmpty();";
+  protected final String TEXT_572 = " != null && !";
+  protected final String TEXT_573 = ".featureMap().isEmpty();";
+  protected final String TEXT_574 = ".isEmpty();";
+  protected final String TEXT_575 = ");" + NL + "\t\t\t\treturn ";
+  protected final String TEXT_576 = NL + "\t\t\t\treturn !";
+  protected final String TEXT_577 = "().isEmpty();";
+  protected final String TEXT_578 = " != null;";
+  protected final String TEXT_579 = NL + "\t\t\t\treturn eVirtualGet(";
+  protected final String TEXT_580 = ") != null;";
+  protected final String TEXT_581 = NL + "\t\t\t\treturn basicGet";
+  protected final String TEXT_582 = "() != null;";
+  protected final String TEXT_583 = "_EFLAG) != 0) != ";
+  protected final String TEXT_584 = "_EFLAG) != ";
+  protected final String TEXT_585 = ") != ";
+  protected final String TEXT_586 = "() != ";
+  protected final String TEXT_587 = " != null : !";
+  protected final String TEXT_588 = ".equals(";
+  protected final String TEXT_589 = "() != null : !";
+  protected final String TEXT_590 = NL + "\t\treturn super.eIsSet(featureID);";
+  protected final String TEXT_591 = NL + "\t\treturn eDynamicIsSet(featureID);";
+  protected final String TEXT_592 = NL + "\tpublic int eBaseStructuralFeatureID(int derivedFeatureID, Class";
+  protected final String TEXT_593 = " baseClass)" + NL + "\t{";
+  protected final String TEXT_594 = NL + "\t\tif (baseClass == ";
+  protected final String TEXT_595 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (derivedFeatureID";
+  protected final String TEXT_596 = NL + "\t\t\t\tcase ";
+  protected final String TEXT_597 = ": return ";
+  protected final String TEXT_598 = NL + "\t\t\t\tdefault: return -1;" + NL + "\t\t\t}" + NL + "\t\t}";
+  protected final String TEXT_599 = NL + "\t\treturn super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);" + NL + "\t}";
+  protected final String TEXT_600 = NL + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_601 = NL + "\tpublic int eDerivedStructuralFeatureID(int baseFeatureID, Class";
+  protected final String TEXT_602 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID)" + NL + "\t\t\t{";
+  protected final String TEXT_603 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseFeatureID";
+  protected final String TEXT_604 = NL + "\t\treturn super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);" + NL + "\t}" + NL;
+  protected final String TEXT_605 = NL + "\tpublic int eDerivedOperationID(int baseOperationID, Class";
+  protected final String TEXT_606 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID)" + NL + "\t\t\t{";
+  protected final String TEXT_607 = NL + "\t\t\t\tdefault: return super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t\t\t}" + NL + "\t\t}";
+  protected final String TEXT_608 = ".class)" + NL + "\t\t{" + NL + "\t\t\tswitch (baseOperationID";
+  protected final String TEXT_609 = NL + "\t\treturn super.eDerivedOperationID(baseOperationID, baseClass);" + NL + "\t}" + NL;
+  protected final String TEXT_610 = NL + "\tprotected Object[] eVirtualValues()" + NL + "\t{" + NL + "\t\treturn ";
+  protected final String TEXT_611 = ";" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_612 = NL + "\tprotected void eSetVirtualValues(Object[] newValues)" + NL + "\t{" + NL + "\t\t";
+  protected final String TEXT_613 = " = newValues;" + NL + "\t}" + NL;
+  protected final String TEXT_614 = NL + "\tprotected int eVirtualIndexBits(int offset)" + NL + "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";
+  protected final String TEXT_615 = " :" + NL + "\t\t\t\treturn ";
+  protected final String TEXT_616 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();" + NL + "\t\t}" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_617 = NL + "\tprotected void eSetVirtualIndexBits(int offset, int newIndexBits)" + NL + "\t{" + NL + "\t\tswitch (offset)" + NL + "\t\t{";
+  protected final String TEXT_618 = " :" + NL + "\t\t\t\t";
+  protected final String TEXT_619 = " = newIndexBits;" + NL + "\t\t\t\tbreak;";
+  protected final String TEXT_620 = NL + "\t\t\tdefault :" + NL + "\t\t\t\tthrow new IndexOutOfBoundsException();" + NL + "\t\t}" + NL + "\t}" + NL;
+  protected final String TEXT_621 = NL + "\t@SuppressWarnings(";
+  protected final String TEXT_622 = "\"unchecked\"";
+  protected final String TEXT_623 = "{\"rawtypes\", \"unchecked\" }";
+  protected final String TEXT_624 = NL + "\tpublic Object eInvoke(int operationID, ";
+  protected final String TEXT_625 = " arguments) throws ";
+  protected final String TEXT_626 = NL + "\t{" + NL + "\t\tswitch (operationID";
+  protected final String TEXT_627 = NL + "\t\t\t\ttry" + NL + "\t\t\t\t{";
+  protected final String TEXT_628 = "arguments.get(";
+  protected final String TEXT_629 = ");" + NL + "\t\t\t\t";
+  protected final String TEXT_630 = "return null;";
+  protected final String TEXT_631 = "return ";
+  protected final String TEXT_632 = NL + "\t\t\t\t}" + NL + "\t\t\t\tcatch (";
+  protected final String TEXT_633 = " throwable)" + NL + "\t\t\t\t{" + NL + "\t\t\t\t\tthrow new ";
+  protected final String TEXT_634 = "(throwable);" + NL + "\t\t\t\t}";
+  protected final String TEXT_635 = NL + "\t\treturn super.eInvoke(operationID, arguments);";
+  protected final String TEXT_636 = NL + "\t\treturn eDynamicInvoke(operationID, arguments);";
+  protected final String TEXT_637 = NL + "\tpublic String toString()" + NL + "\t{" + NL + "\t\tif (eIsProxy()) return super.toString();" + NL + "" + NL + "\t\t";
+  protected final String TEXT_638 = " result = new ";
+  protected final String TEXT_639 = "(super.toString());";
+  protected final String TEXT_640 = NL + "\t\tresult.append(\" (";
+  protected final String TEXT_641 = ": \");";
+  protected final String TEXT_642 = NL + "\t\tresult.append(\", ";
+  protected final String TEXT_643 = NL + "\t\tif (eVirtualIsSet(";
+  protected final String TEXT_644 = ")) result.append(eVirtualGet(";
+  protected final String TEXT_645 = ")); else result.append(\"<unset>\");";
+  protected final String TEXT_646 = "_ESETFLAG) != 0";
+  protected final String TEXT_647 = ") result.append((";
+  protected final String TEXT_648 = "_EFLAG) != 0); else result.append(\"<unset>\");";
+  protected final String TEXT_649 = ") result.append(";
+  protected final String TEXT_650 = "_EFLAG_OFFSET]); else result.append(\"<unset>\");";
+  protected final String TEXT_651 = "); else result.append(\"<unset>\");";
+  protected final String TEXT_652 = NL + "\t\tresult.append(eVirtualGet(";
+  protected final String TEXT_653 = NL + "\t\tresult.append((";
+  protected final String TEXT_654 = "_EFLAG) != 0);";
+  protected final String TEXT_655 = NL + "\t\tresult.append(";
+  protected final String TEXT_656 = "_EFLAG_OFFSET]);";
+  protected final String TEXT_657 = NL + "\t\tresult.append(')');" + NL + "\t\treturn result.toString();" + NL + "\t}" + NL;
+  protected final String TEXT_658 = NL + "\tprotected int hash = -1;" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_659 = NL + "\tpublic int getHash()" + NL + "\t{" + NL + "\t\tif (hash == -1)" + NL + "\t\t{" + NL + "\t\t\t";
+  protected final String TEXT_660 = " theKey = getKey();" + NL + "\t\t\thash = (theKey == null ? 0 : theKey.hashCode());" + NL + "\t\t}" + NL + "\t\treturn hash;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_661 = NL + "\tpublic void setHash(int hash)" + NL + "\t{" + NL + "\t\tthis.hash = hash;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_662 = " getKey()" + NL + "\t{";
+  protected final String TEXT_663 = "(getTypedKey());";
+  protected final String TEXT_664 = NL + "\t\treturn getTypedKey();";
+  protected final String TEXT_665 = NL + "\tpublic void setKey(";
+  protected final String TEXT_666 = " key)" + NL + "\t{";
+  protected final String TEXT_667 = NL + "\t\tgetTypedKey().addAll(";
+  protected final String TEXT_668 = "key);";
+  protected final String TEXT_669 = NL + "\t\tsetTypedKey(key);";
+  protected final String TEXT_670 = NL + "\t\tsetTypedKey(((";
+  protected final String TEXT_671 = ")key).";
+  protected final String TEXT_672 = NL + "\t\tsetTypedKey((";
+  protected final String TEXT_673 = ")key);";
+  protected final String TEXT_674 = " getValue()" + NL + "\t{";
+  protected final String TEXT_675 = "(getTypedValue());";
+  protected final String TEXT_676 = NL + "\t\treturn getTypedValue();";
+  protected final String TEXT_677 = " setValue(";
+  protected final String TEXT_678 = " value)" + NL + "\t{" + NL + "\t\t";
+  protected final String TEXT_679 = " oldValue = getValue();";
+  protected final String TEXT_680 = NL + "\t\tgetTypedValue().clear();" + NL + "\t\tgetTypedValue().addAll(";
+  protected final String TEXT_681 = "value);";
+  protected final String TEXT_682 = NL + "\t\tsetTypedValue(value);";
+  protected final String TEXT_683 = NL + "\t\tsetTypedValue(((";
+  protected final String TEXT_684 = ")value).";
+  protected final String TEXT_685 = NL + "\t\tsetTypedValue((";
+  protected final String TEXT_686 = ")value);";
+  protected final String TEXT_687 = NL + "\t\treturn oldValue;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_688 = " getEMap()" + NL + "\t{" + NL + "\t\t";
+  protected final String TEXT_689 = " container = eContainer();" + NL + "\t\treturn container == null ? null : (";
+  protected final String TEXT_690 = ")container.eGet(eContainmentFeature());" + NL + "\t}" + NL;
+  protected final String TEXT_691 = NL + "} //";
 
   public String generate(Object argument)
   {
@@ -1830,49 +1826,41 @@
     }
     }
     stringBuffer.append(TEXT_203);
-    if (!genFeature.hasDocumentation()) {
-    stringBuffer.append(TEXT_204);
-    stringBuffer.append(genFeature.getFormattedName());
-    stringBuffer.append(TEXT_205);
-    stringBuffer.append(genFeature.getFeatureKind());
-    stringBuffer.append(TEXT_206);
-    }
-    stringBuffer.append(TEXT_207);
     if (genFeature.hasDocumentation()) {
-    stringBuffer.append(TEXT_208);
+    stringBuffer.append(TEXT_204);
     stringBuffer.append(genFeature.getDocumentation(genModel.getIndentation(stringBuffer)));
-    stringBuffer.append(TEXT_209);
-    }
-    stringBuffer.append(TEXT_210);
-    stringBuffer.append(genFeature.getFormattedName());
     stringBuffer.append(TEXT_205);
+    }
+    stringBuffer.append(TEXT_206);
+    stringBuffer.append(genFeature.getFormattedName());
+    stringBuffer.append(TEXT_207);
     stringBuffer.append(genFeature.getFeatureKind());
     stringBuffer.append(TEXT_189);
     if (genFeature.getTypeGenEnum() != null) {
-    stringBuffer.append(TEXT_211);
+    stringBuffer.append(TEXT_208);
     stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
     }
     if (genFeature.isUnsettable()) {
     if (!genFeature.isSuppressedIsSetVisibility()) {
-    stringBuffer.append(TEXT_212);
+    stringBuffer.append(TEXT_209);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_21);
     }
     if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {
-    stringBuffer.append(TEXT_213);
+    stringBuffer.append(TEXT_210);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_21);
     }
     }
     if (genFeature.isChangeable() && !genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {
-    stringBuffer.append(TEXT_214);
+    stringBuffer.append(TEXT_211);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genFeature.getRawImportedBoundType());
     stringBuffer.append(TEXT_86);
     }
     if (!genModel.isSuppressEMFMetaData()) {
-    stringBuffer.append(TEXT_211);
+    stringBuffer.append(TEXT_208);
     stringBuffer.append(genPackage.getQualifiedPackageInterfaceName());
     stringBuffer.append(TEXT_20);
     stringBuffer.append(genFeature.getFeatureAccessorName());
@@ -1880,20 +1868,20 @@
     }
     if (genFeature.isBidirectional() && !genFeature.getReverse().getGenClass().isMapEntry()) { GenFeature reverseGenFeature = genFeature.getReverse(); 
     if (!reverseGenFeature.isSuppressedGetVisibility()) {
-    stringBuffer.append(TEXT_211);
+    stringBuffer.append(TEXT_208);
     stringBuffer.append(reverseGenFeature.getGenClass().getRawQualifiedInterfaceName());
     stringBuffer.append(TEXT_15);
     stringBuffer.append(reverseGenFeature.getGetAccessor());
     }
     }
     if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genFeature.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;
-    stringBuffer.append(TEXT_215);
+    stringBuffer.append(TEXT_212);
     stringBuffer.append(modelInfo);
     } else {
-    stringBuffer.append(TEXT_216);
+    stringBuffer.append(TEXT_213);
     stringBuffer.append(modelInfo);
     }} if (first) {
-    stringBuffer.append(TEXT_217);
+    stringBuffer.append(TEXT_214);
     }}
     stringBuffer.append(TEXT_112);
     //Class/getGenFeature.javadoc.override.javajetinc
@@ -1938,18 +1926,18 @@
     }
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genFeature.getObjectType(genClass));
-    stringBuffer.append(TEXT_218);
+    stringBuffer.append(TEXT_215);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     if (genClass.hasStaticFeatures()){
-    stringBuffer.append(TEXT_219);
+    stringBuffer.append(TEXT_216);
     }
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
-    stringBuffer.append(TEXT_220);
+    stringBuffer.append(TEXT_217);
     stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());
     stringBuffer.append(TEXT_86);
     if (!isJDK50 && genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_221);
+    stringBuffer.append(TEXT_218);
     stringBuffer.append(genFeature.getPrimitiveValueFunction());
     stringBuffer.append(TEXT_21);
     }
@@ -1965,11 +1953,11 @@
     }
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genFeature.getObjectType(genClass));
-    stringBuffer.append(TEXT_222);
+    stringBuffer.append(TEXT_219);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
-    stringBuffer.append(TEXT_223);
+    stringBuffer.append(TEXT_220);
     if (!isJDK50 && genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_221);
+    stringBuffer.append(TEXT_218);
     stringBuffer.append(genFeature.getPrimitiveValueFunction());
     stringBuffer.append(TEXT_21);
     }
@@ -1984,9 +1972,9 @@
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_86);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_224);
-    if (!isJDK50 && genFeature.isPrimitiveType()) {
     stringBuffer.append(TEXT_221);
+    if (!isJDK50 && genFeature.isPrimitiveType()) {
+    stringBuffer.append(TEXT_218);
     stringBuffer.append(genFeature.getPrimitiveValueFunction());
     stringBuffer.append(TEXT_21);
     }
@@ -2029,18 +2017,18 @@
     stringBuffer.append(genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes() ? ".map()" : "");
     stringBuffer.append(TEXT_6);
     } else if (genFeature.isContainer()) {
-    stringBuffer.append(TEXT_225);
+    stringBuffer.append(TEXT_222);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_226);
+    stringBuffer.append(TEXT_223);
     stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_86);
     if (genFeature.isResolveProxies()) {
-    stringBuffer.append(TEXT_227);
+    stringBuffer.append(TEXT_224);
     } else {
-    stringBuffer.append(TEXT_228);
+    stringBuffer.append(TEXT_225);
     }
-    stringBuffer.append(TEXT_229);
+    stringBuffer.append(TEXT_226);
     } else {
     if (genFeature.isResolveProxies()) {
     if (genModel.isVirtualDelegation()) {
@@ -2061,27 +2049,27 @@
     }
     stringBuffer.append(TEXT_136);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_230);
+    stringBuffer.append(TEXT_227);
     stringBuffer.append(genFeature.getSafeNameAsEObject());
-    stringBuffer.append(TEXT_231);
+    stringBuffer.append(TEXT_228);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
-    stringBuffer.append(TEXT_232);
+    stringBuffer.append(TEXT_229);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));
-    stringBuffer.append(TEXT_233);
+    stringBuffer.append(TEXT_230);
     stringBuffer.append(genFeature.getSafeName());
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));
-    stringBuffer.append(TEXT_234);
+    stringBuffer.append(TEXT_231);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_235);
+    stringBuffer.append(TEXT_232);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_236);
+    stringBuffer.append(TEXT_233);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_237);
+    stringBuffer.append(TEXT_234);
     if (genFeature.isEffectiveContains()) {
-    stringBuffer.append(TEXT_238);
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
     stringBuffer.append(TEXT_155);
     stringBuffer.append(genFeature.getCapName());
@@ -2089,49 +2077,49 @@
     stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));
     stringBuffer.append(TEXT_6);
     if (!genFeature.isBidirectional()) {
+    stringBuffer.append(TEXT_235);
+    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+    stringBuffer.append(TEXT_236);
+    stringBuffer.append(genFeature.getCapName());
+    stringBuffer.append(TEXT_237);
+    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+    stringBuffer.append(negativeOffsetCorrection);
     stringBuffer.append(TEXT_238);
+    } else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
     stringBuffer.append(TEXT_239);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_240);
-    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(negativeOffsetCorrection);
+    stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+    stringBuffer.append(reverseOffsetCorrection);
+    stringBuffer.append(TEXT_149);
+    stringBuffer.append(targetClass.getRawImportedInterfaceName());
     stringBuffer.append(TEXT_241);
-    } else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
-    stringBuffer.append(TEXT_238);
-    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
+    }
     stringBuffer.append(TEXT_242);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_243);
-    stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
-    stringBuffer.append(reverseOffsetCorrection);
-    stringBuffer.append(TEXT_149);
-    stringBuffer.append(targetClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_244);
-    }
-    stringBuffer.append(TEXT_245);
-    stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_246);
     if (!genFeature.isBidirectional()) {
+    stringBuffer.append(TEXT_244);
+    stringBuffer.append(genFeature.getCapName());
+    stringBuffer.append(TEXT_245);
+    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+    stringBuffer.append(negativeOffsetCorrection);
+    stringBuffer.append(TEXT_246);
+    } else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
     stringBuffer.append(TEXT_247);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_248);
-    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_249);
-    } else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
-    stringBuffer.append(TEXT_250);
-    stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_251);
     stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
     stringBuffer.append(reverseOffsetCorrection);
     stringBuffer.append(TEXT_149);
     stringBuffer.append(targetClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_252);
+    stringBuffer.append(TEXT_249);
     }
-    stringBuffer.append(TEXT_253);
+    stringBuffer.append(TEXT_250);
     } else if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_254);
+    stringBuffer.append(TEXT_251);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
@@ -2139,23 +2127,23 @@
     stringBuffer.append(TEXT_146);
     }
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_255);
+    stringBuffer.append(TEXT_252);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_257);
+    stringBuffer.append(TEXT_254);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_258);
+    stringBuffer.append(TEXT_255);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_259);
+    stringBuffer.append(TEXT_256);
     }
-    stringBuffer.append(TEXT_260);
+    stringBuffer.append(TEXT_257);
     }
     if (!genFeature.isResolveProxies() && genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_261);
+    stringBuffer.append(TEXT_258);
     stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_145);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
@@ -2167,21 +2155,21 @@
     stringBuffer.append(TEXT_146);
     } else if (genClass.isFlag(genFeature)) {
     if (genFeature.isBooleanType()) {
-    stringBuffer.append(TEXT_261);
+    stringBuffer.append(TEXT_258);
     stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_263);
+    stringBuffer.append(TEXT_260);
     } else {
     stringBuffer.append(TEXT_172);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_264);
+    stringBuffer.append(TEXT_261);
     stringBuffer.append(genClass.getFlagsField(genFeature));
+    stringBuffer.append(TEXT_259);
+    stringBuffer.append(genFeature.getUpperName());
     stringBuffer.append(TEXT_262);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_265);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_266);
+    stringBuffer.append(TEXT_263);
     }
     } else {
     stringBuffer.append(TEXT_172);
@@ -2195,60 +2183,60 @@
     stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_70);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_267);
+    stringBuffer.append(TEXT_264);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_268);
+    stringBuffer.append(TEXT_265);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_230);
+    stringBuffer.append(TEXT_227);
     stringBuffer.append(genFeature.getSafeNameAsEObject());
-    stringBuffer.append(TEXT_269);
+    stringBuffer.append(TEXT_266);
     stringBuffer.append(genFeature.getNonEObjectInternalTypeCast(genClass));
-    stringBuffer.append(TEXT_270);
+    stringBuffer.append(TEXT_267);
     stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), false));
-    stringBuffer.append(TEXT_271);
+    stringBuffer.append(TEXT_268);
     stringBuffer.append(genFeature.getSafeName());
     stringBuffer.append(TEXT_6);
     } else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();
     if (genFeature.isFeatureMapType()) {
     String featureMapEntryTemplateArgument = isJDK50 ? "<" + genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap") + ".Entry>" : "";
     if (delegateFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_272);
+    stringBuffer.append(TEXT_269);
     stringBuffer.append(genFeature.getImportedEffectiveFeatureMapWrapperClass());
-    stringBuffer.append(TEXT_273);
+    stringBuffer.append(TEXT_270);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+    stringBuffer.append(TEXT_271);
+    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+    stringBuffer.append(TEXT_272);
+    stringBuffer.append(delegateFeature.getAccessorName());
+    stringBuffer.append(TEXT_273);
+    stringBuffer.append(featureMapEntryTemplateArgument);
     stringBuffer.append(TEXT_274);
+    stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+    stringBuffer.append(TEXT_256);
+    } else {
+    stringBuffer.append(TEXT_258);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
     stringBuffer.append(TEXT_275);
     stringBuffer.append(delegateFeature.getAccessorName());
     stringBuffer.append(TEXT_276);
     stringBuffer.append(featureMapEntryTemplateArgument);
-    stringBuffer.append(TEXT_277);
-    stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
-    stringBuffer.append(TEXT_259);
-    } else {
-    stringBuffer.append(TEXT_261);
-    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_278);
-    stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_279);
-    stringBuffer.append(featureMapEntryTemplateArgument);
-    stringBuffer.append(TEXT_277);
+    stringBuffer.append(TEXT_274);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     }
     } else if (genFeature.isListType()) {
     if (delegateFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_280);
+    stringBuffer.append(TEXT_277);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_275);
+    stringBuffer.append(TEXT_272);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_281);
+    stringBuffer.append(TEXT_278);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     } else {
-    stringBuffer.append(TEXT_282);
+    stringBuffer.append(TEXT_279);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_283);
+    stringBuffer.append(TEXT_280);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     }
@@ -2263,15 +2251,15 @@
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_86);
     }
-    stringBuffer.append(TEXT_273);
+    stringBuffer.append(TEXT_270);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_275);
+    stringBuffer.append(TEXT_272);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_284);
+    stringBuffer.append(TEXT_281);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
-    stringBuffer.append(TEXT_223);
+    stringBuffer.append(TEXT_220);
     if (!isJDK50 && genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_221);
+    stringBuffer.append(TEXT_218);
     stringBuffer.append(genFeature.getPrimitiveValueFunction());
     stringBuffer.append(TEXT_21);
     }
@@ -2286,13 +2274,13 @@
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_86);
     }
-    stringBuffer.append(TEXT_285);
+    stringBuffer.append(TEXT_282);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_286);
+    stringBuffer.append(TEXT_283);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
-    stringBuffer.append(TEXT_223);
+    stringBuffer.append(TEXT_220);
     if (!isJDK50 && genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_221);
+    stringBuffer.append(TEXT_218);
     stringBuffer.append(genFeature.getPrimitiveValueFunction());
     stringBuffer.append(TEXT_21);
     }
@@ -2306,23 +2294,23 @@
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
     } else {
-    stringBuffer.append(TEXT_287);
+    stringBuffer.append(TEXT_284);
     stringBuffer.append(genFeature.getFormattedName());
-    stringBuffer.append(TEXT_288);
+    stringBuffer.append(TEXT_285);
     stringBuffer.append(genFeature.getFeatureKind());
-    stringBuffer.append(TEXT_289);
+    stringBuffer.append(TEXT_286);
     if (genFeature.isListType()) {
-    stringBuffer.append(TEXT_290);
+    stringBuffer.append(TEXT_287);
     if (genFeature.isMapType()) {
-    stringBuffer.append(TEXT_291);
+    stringBuffer.append(TEXT_288);
     } else if (genFeature.isFeatureMapType()) {
-    stringBuffer.append(TEXT_292);
+    stringBuffer.append(TEXT_289);
     } else {
-    stringBuffer.append(TEXT_293);
+    stringBuffer.append(TEXT_290);
     }
-    stringBuffer.append(TEXT_294);
+    stringBuffer.append(TEXT_291);
     }
-    stringBuffer.append(TEXT_295);
+    stringBuffer.append(TEXT_292);
     //Class/getGenFeature.todo.override.javajetinc
     }
     }
@@ -2344,20 +2332,20 @@
     }
     stringBuffer.append(TEXT_131);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_296);
+    stringBuffer.append(TEXT_293);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_132);
     if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
-    stringBuffer.append(TEXT_261);
+    stringBuffer.append(TEXT_258);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_218);
+    stringBuffer.append(TEXT_215);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     if (genClass.hasStaticFeatures()){
-    stringBuffer.append(TEXT_219);
+    stringBuffer.append(TEXT_216);
     }
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
-    stringBuffer.append(TEXT_297);
+    stringBuffer.append(TEXT_294);
     stringBuffer.append(!genFeature.isEffectiveSuppressEMFTypes());
     stringBuffer.append(TEXT_146);
     } else if (genFeature.hasSettingDelegate()) {
@@ -2369,23 +2357,23 @@
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_86);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_298);
+    stringBuffer.append(TEXT_295);
     if (!isJDK50 && genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_221);
+    stringBuffer.append(TEXT_218);
     stringBuffer.append(genFeature.getPrimitiveValueFunction());
     stringBuffer.append(TEXT_21);
     }
     stringBuffer.append(TEXT_6);
     } else if (genFeature.isContainer()) {
-    stringBuffer.append(TEXT_225);
+    stringBuffer.append(TEXT_222);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_226);
+    stringBuffer.append(TEXT_223);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_299);
+    stringBuffer.append(TEXT_296);
     } else if (!genFeature.isVolatile()) {
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_261);
+    stringBuffer.append(TEXT_258);
     stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_145);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
@@ -2398,33 +2386,33 @@
     }
     } else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();
     if (delegateFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_261);
+    stringBuffer.append(TEXT_258);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_300);
+    stringBuffer.append(TEXT_297);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
+    stringBuffer.append(TEXT_272);
+    stringBuffer.append(delegateFeature.getAccessorName());
+    stringBuffer.append(TEXT_281);
+    stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
+    stringBuffer.append(TEXT_298);
+    } else {
+    stringBuffer.append(TEXT_258);
+    stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_275);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_284);
+    stringBuffer.append(TEXT_283);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
-    stringBuffer.append(TEXT_301);
-    } else {
-    stringBuffer.append(TEXT_261);
-    stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_278);
-    stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_286);
-    stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
-    stringBuffer.append(TEXT_301);
+    stringBuffer.append(TEXT_298);
     }
     } else if (genFeature.hasGetterBody()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getGetterBody(genModel.getIndentation(stringBuffer)));
     } else {
-    stringBuffer.append(TEXT_287);
+    stringBuffer.append(TEXT_284);
     stringBuffer.append(genFeature.getFormattedName());
-    stringBuffer.append(TEXT_288);
+    stringBuffer.append(TEXT_285);
     stringBuffer.append(genFeature.getFeatureKind());
-    stringBuffer.append(TEXT_302);
+    stringBuffer.append(TEXT_299);
     //Class/basicGetGenFeature.todo.override.javajetinc
     }
     stringBuffer.append(TEXT_176);
@@ -2452,169 +2440,169 @@
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_303);
+    stringBuffer.append(TEXT_300);
     if (genFeature.isContainer()) {
+    stringBuffer.append(TEXT_301);
+    stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));
+    stringBuffer.append(TEXT_149);
+    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+    stringBuffer.append(positiveOffsetCorrection);
+    stringBuffer.append(TEXT_302);
+    stringBuffer.append(TEXT_303);
+    } else if (genModel.isDynamicDelegation()) {
     stringBuffer.append(TEXT_304);
     stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_305);
-    stringBuffer.append(TEXT_306);
-    } else if (genModel.isDynamicDelegation()) {
-    stringBuffer.append(TEXT_307);
-    stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), false));
-    stringBuffer.append(TEXT_149);
-    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_305);
-    stringBuffer.append(TEXT_306);
+    stringBuffer.append(TEXT_302);
+    stringBuffer.append(TEXT_303);
     } else if (!genFeature.isVolatile()) {
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_308);
+    stringBuffer.append(TEXT_305);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_309);
+    stringBuffer.append(TEXT_306);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_146);
     } else {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_232);
+    stringBuffer.append(TEXT_229);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_311);
+    stringBuffer.append(TEXT_308);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_312);
+    stringBuffer.append(TEXT_309);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_6);
     }
     if (genFeature.isUnsettable()) {
     if (genModel.isVirtualDelegation()) {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_313);
+    stringBuffer.append(TEXT_310);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_314);
+    stringBuffer.append(TEXT_311);
     }
     } else if (genClass.isESetFlag(genFeature)) {
-    stringBuffer.append(TEXT_315);
+    stringBuffer.append(TEXT_312);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_316);
+    stringBuffer.append(TEXT_313);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_317);
+    stringBuffer.append(TEXT_314);
     if (!genModel.isSuppressNotification()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
     stringBuffer.append(TEXT_120);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_318);
+    stringBuffer.append(TEXT_315);
     }
     } else {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_315);
+    stringBuffer.append(TEXT_312);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_319);
+    stringBuffer.append(TEXT_316);
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_320);
+    stringBuffer.append(TEXT_317);
     }
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_321);
+    stringBuffer.append(TEXT_318);
     }
     }
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_322);
+    stringBuffer.append(TEXT_319);
     if (genFeature.isUnsettable()) {
     stringBuffer.append(TEXT_151);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_323);
+    stringBuffer.append(TEXT_320);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_324);
+    stringBuffer.append(TEXT_321);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_325);
+    stringBuffer.append(TEXT_322);
     stringBuffer.append(genFeature.getCapName());
     } else {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
     }
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_149);
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_327);
+    stringBuffer.append(TEXT_324);
     } else {
-    stringBuffer.append(TEXT_328);
+    stringBuffer.append(TEXT_325);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_329);
+    stringBuffer.append(TEXT_326);
     }
     stringBuffer.append(TEXT_146);
     } else {
     stringBuffer.append(TEXT_151);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_323);
+    stringBuffer.append(TEXT_320);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_324);
+    stringBuffer.append(TEXT_321);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_330);
+    stringBuffer.append(TEXT_327);
     stringBuffer.append(genFeature.getCapName());
     } else {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
     }
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_146);
     }
-    stringBuffer.append(TEXT_331);
+    stringBuffer.append(TEXT_328);
     }
-    stringBuffer.append(TEXT_306);
+    stringBuffer.append(TEXT_303);
     } else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();
     if (delegateFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_280);
+    stringBuffer.append(TEXT_277);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_274);
+    stringBuffer.append(TEXT_271);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_275);
+    stringBuffer.append(TEXT_272);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_332);
+    stringBuffer.append(TEXT_329);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_305);
+    stringBuffer.append(TEXT_302);
     } else {
-    stringBuffer.append(TEXT_280);
+    stringBuffer.append(TEXT_277);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_333);
+    stringBuffer.append(TEXT_330);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_334);
+    stringBuffer.append(TEXT_331);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_305);
+    stringBuffer.append(TEXT_302);
     }
     } else {
-    stringBuffer.append(TEXT_335);
+    stringBuffer.append(TEXT_332);
     stringBuffer.append(genFeature.getFormattedName());
-    stringBuffer.append(TEXT_288);
+    stringBuffer.append(TEXT_285);
     stringBuffer.append(genFeature.getFeatureKind());
-    stringBuffer.append(TEXT_336);
+    stringBuffer.append(TEXT_333);
     //Class/basicSetGenFeature.todo.override.javajetinc
     }
     stringBuffer.append(TEXT_176);
@@ -2622,7 +2610,7 @@
     }
     if (genFeature.isSet() && (isImplementation || !genFeature.isSuppressedSetVisibility())) {
     if (isInterface) { 
-    stringBuffer.append(TEXT_337);
+    stringBuffer.append(TEXT_334);
     stringBuffer.append(genClass.getRawQualifiedInterfaceName());
     stringBuffer.append(TEXT_15);
     stringBuffer.append(genFeature.getGetAccessor());
@@ -2631,28 +2619,28 @@
     stringBuffer.append(TEXT_62);
     stringBuffer.append(genFeature.getFeatureKind());
     stringBuffer.append(TEXT_189);
-    stringBuffer.append(TEXT_338);
+    stringBuffer.append(TEXT_335);
     stringBuffer.append(genFeature.getFormattedName());
-    stringBuffer.append(TEXT_205);
+    stringBuffer.append(TEXT_207);
     stringBuffer.append(genFeature.getFeatureKind());
     stringBuffer.append(TEXT_189);
     if (genFeature.isEnumType()) {
-    stringBuffer.append(TEXT_211);
+    stringBuffer.append(TEXT_208);
     stringBuffer.append(genFeature.getTypeGenEnum().getQualifiedName());
     }
     if (genFeature.isUnsettable()) {
     if (!genFeature.isSuppressedIsSetVisibility()) {
-    stringBuffer.append(TEXT_212);
+    stringBuffer.append(TEXT_209);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_21);
     }
     if (!genFeature.isSuppressedUnsetVisibility()) {
-    stringBuffer.append(TEXT_213);
+    stringBuffer.append(TEXT_210);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_21);
     }
     }
-    stringBuffer.append(TEXT_339);
+    stringBuffer.append(TEXT_336);
     stringBuffer.append(genFeature.getGetAccessor());
     stringBuffer.append(TEXT_21);
     if (genFeature.hasAPITags()) {
@@ -2679,7 +2667,7 @@
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_340);
+    stringBuffer.append(TEXT_337);
     } else { GenOperation setAccessorOperation = genClass.getSetAccessorOperation(genFeature);
     if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingSetAccessorOperation(genFeature) && !genFeature.isSuppressedSetVisibility()) {
     stringBuffer.append(TEXT_124);
@@ -2693,37 +2681,37 @@
     stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_70);
     stringBuffer.append(setAccessorOperation == null ? "new" + genFeature.getCapName() : setAccessorOperation.getGenParameters().get(0).getName());
-    stringBuffer.append(TEXT_341);
+    stringBuffer.append(TEXT_338);
     if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
-    stringBuffer.append(TEXT_342);
+    stringBuffer.append(TEXT_339);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     if (genClass.hasStaticFeatures()){
-    stringBuffer.append(TEXT_219);
+    stringBuffer.append(TEXT_216);
     }
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_149);
     if (!isJDK50 && genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_343);
+    stringBuffer.append(TEXT_340);
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_93);
     }
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
     if (!isJDK50 && genFeature.isPrimitiveType()) {
     stringBuffer.append(TEXT_86);
     }
     stringBuffer.append(TEXT_146);
     } else if (genModel.isReflectiveDelegation()) {
-    stringBuffer.append(TEXT_345);
+    stringBuffer.append(TEXT_342);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_149);
     if (!isJDK50 && genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_343);
+    stringBuffer.append(TEXT_340);
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_93);
     }
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
     if (!isJDK50 && genFeature.isPrimitiveType()) {
     stringBuffer.append(TEXT_86);
@@ -2732,13 +2720,13 @@
     } else if (genFeature.hasSettingDelegate()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_346);
-    if (!isJDK50 && genFeature.isPrimitiveType()) {
     stringBuffer.append(TEXT_343);
+    if (!isJDK50 && genFeature.isPrimitiveType()) {
+    stringBuffer.append(TEXT_340);
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_93);
     }
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
     if (!isJDK50 && genFeature.isPrimitiveType()) {
     stringBuffer.append(TEXT_86);
@@ -2746,54 +2734,54 @@
     stringBuffer.append(TEXT_146);
     } else if (!genFeature.isVolatile()) {
     if (genFeature.isContainer()) { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
-    stringBuffer.append(TEXT_347);
-    stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_348);
-    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_349);
-    stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_350);
-    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));
-    stringBuffer.append(TEXT_351);
-    stringBuffer.append(genFeature.getEObjectCast());
     stringBuffer.append(TEXT_344);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_352);
+    stringBuffer.append(TEXT_345);
+    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+    stringBuffer.append(positiveOffsetCorrection);
+    stringBuffer.append(TEXT_346);
+    stringBuffer.append(genFeature.getCapName());
+    stringBuffer.append(TEXT_347);
+    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EcoreUtil"));
+    stringBuffer.append(TEXT_348);
+    stringBuffer.append(genFeature.getEObjectCast());
+    stringBuffer.append(TEXT_341);
+    stringBuffer.append(genFeature.getCapName());
+    stringBuffer.append(TEXT_349);
     stringBuffer.append(genModel.getImportedName("java.lang.IllegalArgumentException"));
-    stringBuffer.append(TEXT_353);
+    stringBuffer.append(TEXT_350);
     stringBuffer.append(genModel.getNonNLS());
     stringBuffer.append(TEXT_151);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_354);
+    stringBuffer.append(TEXT_351);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_355);
+    stringBuffer.append(TEXT_352);
     stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));
-    stringBuffer.append(TEXT_251);
+    stringBuffer.append(TEXT_248);
     stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
     stringBuffer.append(reverseOffsetCorrection);
     stringBuffer.append(TEXT_149);
     stringBuffer.append(targetClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_356);
+    stringBuffer.append(TEXT_353);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genFeature.getInternalTypeCast());
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_357);
+    stringBuffer.append(TEXT_354);
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_358);
+    stringBuffer.append(TEXT_355);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_324);
+    stringBuffer.append(TEXT_321);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_259);
+    stringBuffer.append(TEXT_256);
     }
     } else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {
     if (genModel.isVirtualDelegation()) {
@@ -2808,122 +2796,122 @@
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_146);
     }
-    stringBuffer.append(TEXT_347);
+    stringBuffer.append(TEXT_344);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_359);
+    stringBuffer.append(TEXT_356);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_360);
+    stringBuffer.append(TEXT_357);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_361);
+    stringBuffer.append(TEXT_358);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_362);
+    stringBuffer.append(TEXT_359);
     if (!genFeature.isBidirectional()) {
-    stringBuffer.append(TEXT_363);
+    stringBuffer.append(TEXT_360);
+    stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
+    stringBuffer.append(TEXT_237);
+    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+    stringBuffer.append(negativeOffsetCorrection);
+    stringBuffer.append(TEXT_361);
+    stringBuffer.append(genFeature.getCapName());
+    stringBuffer.append(TEXT_352);
+    stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));
+    stringBuffer.append(TEXT_245);
+    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
+    stringBuffer.append(negativeOffsetCorrection);
+    stringBuffer.append(TEXT_246);
+    } else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
+    stringBuffer.append(TEXT_360);
     stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
     stringBuffer.append(TEXT_240);
-    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_364);
+    stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+    stringBuffer.append(reverseOffsetCorrection);
+    stringBuffer.append(TEXT_149);
+    stringBuffer.append(targetClass.getRawImportedInterfaceName());
+    stringBuffer.append(TEXT_362);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_355);
+    stringBuffer.append(TEXT_352);
     stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));
     stringBuffer.append(TEXT_248);
-    stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(negativeOffsetCorrection);
+    stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
+    stringBuffer.append(reverseOffsetCorrection);
+    stringBuffer.append(TEXT_149);
+    stringBuffer.append(targetClass.getRawImportedInterfaceName());
     stringBuffer.append(TEXT_249);
-    } else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
-    stringBuffer.append(TEXT_363);
-    stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
-    stringBuffer.append(TEXT_243);
-    stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
-    stringBuffer.append(reverseOffsetCorrection);
-    stringBuffer.append(TEXT_149);
-    stringBuffer.append(targetClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_365);
-    stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_355);
-    stringBuffer.append(genFeature.getAsInternalEObject("new" + genFeature.getCapName(), true));
-    stringBuffer.append(TEXT_251);
-    stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
-    stringBuffer.append(reverseOffsetCorrection);
-    stringBuffer.append(TEXT_149);
-    stringBuffer.append(targetClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_252);
     }
-    stringBuffer.append(TEXT_366);
+    stringBuffer.append(TEXT_363);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genFeature.getInternalTypeCast());
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_357);
+    stringBuffer.append(TEXT_354);
     if (genFeature.isUnsettable()) {
-    stringBuffer.append(TEXT_367);
+    stringBuffer.append(TEXT_364);
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_368);
+    stringBuffer.append(TEXT_365);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_369);
+    stringBuffer.append(TEXT_366);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_146);
     } else if (genClass.isESetFlag(genFeature)) {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_368);
+    stringBuffer.append(TEXT_365);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_316);
+    stringBuffer.append(TEXT_313);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_317);
+    stringBuffer.append(TEXT_314);
     }
     stringBuffer.append(TEXT_151);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
     stringBuffer.append(TEXT_120);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_318);
+    stringBuffer.append(TEXT_315);
     } else {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_368);
+    stringBuffer.append(TEXT_365);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_319);
+    stringBuffer.append(TEXT_316);
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_320);
+    stringBuffer.append(TEXT_317);
     }
     stringBuffer.append(TEXT_151);
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_321);
+    stringBuffer.append(TEXT_318);
     }
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_370);
+    stringBuffer.append(TEXT_367);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_324);
+    stringBuffer.append(TEXT_321);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_371);
+    stringBuffer.append(TEXT_368);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_372);
+    stringBuffer.append(TEXT_369);
     }
-    stringBuffer.append(TEXT_373);
+    stringBuffer.append(TEXT_370);
     } else {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_358);
+    stringBuffer.append(TEXT_355);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_324);
+    stringBuffer.append(TEXT_321);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_310);
+    stringBuffer.append(TEXT_307);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_259);
+    stringBuffer.append(TEXT_256);
     }
     }
     } else {
@@ -2932,75 +2920,75 @@
     if (genFeature.isBooleanType()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_232);
+    stringBuffer.append(TEXT_229);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_144);
     stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_263);
+    stringBuffer.append(TEXT_260);
     } else {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_232);
+    stringBuffer.append(TEXT_229);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_264);
+    stringBuffer.append(TEXT_261);
     stringBuffer.append(genClass.getFlagsField(genFeature));
+    stringBuffer.append(TEXT_259);
+    stringBuffer.append(genFeature.getUpperName());
     stringBuffer.append(TEXT_262);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_265);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_266);
+    stringBuffer.append(TEXT_263);
     }
     }
     if (genFeature.isBooleanType()) {
-    stringBuffer.append(TEXT_347);
+    stringBuffer.append(TEXT_344);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_374);
+    stringBuffer.append(TEXT_371);
     stringBuffer.append(genClass.getFlagsField(genFeature));
     stringBuffer.append(TEXT_120);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_375);
+    stringBuffer.append(TEXT_372);
     stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_376);
+    stringBuffer.append(TEXT_373);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_377);
+    stringBuffer.append(TEXT_374);
     } else {
-    stringBuffer.append(TEXT_347);
-    stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_378);
-    stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_76);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_379);
-    stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_76);
-    stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_380);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_381);
-    if (isJDK50) {
     stringBuffer.append(TEXT_344);
     stringBuffer.append(genFeature.getCapName());
+    stringBuffer.append(TEXT_375);
+    stringBuffer.append(genFeature.getCapName());
+    stringBuffer.append(TEXT_76);
+    stringBuffer.append(genFeature.getUpperName());
+    stringBuffer.append(TEXT_376);
+    stringBuffer.append(genClass.getFlagsField(genFeature));
+    stringBuffer.append(TEXT_76);
+    stringBuffer.append(genClass.getFlagsField(genFeature));
+    stringBuffer.append(TEXT_377);
+    stringBuffer.append(genFeature.getUpperName());
+    stringBuffer.append(TEXT_378);
+    if (isJDK50) {
+    stringBuffer.append(TEXT_341);
+    stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_84);
     } else {
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_382);
+    stringBuffer.append(TEXT_379);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_86);
     }
     stringBuffer.append(TEXT_87);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_383);
+    stringBuffer.append(TEXT_380);
     }
     } else {
     if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
     if (!genModel.isSuppressNotification()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_232);
+    stringBuffer.append(TEXT_229);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genFeature.getSafeName());
@@ -3013,21 +3001,21 @@
     stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_70);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_312);
+    stringBuffer.append(TEXT_309);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_384);
+    stringBuffer.append(TEXT_381);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_385);
+    stringBuffer.append(TEXT_382);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_6);
     } else {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_312);
+    stringBuffer.append(TEXT_309);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_384);
+    stringBuffer.append(TEXT_381);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_385);
+    stringBuffer.append(TEXT_382);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_6);
     }
@@ -3039,7 +3027,7 @@
     stringBuffer.append(genFeature.getSafeName());
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genFeature.getInternalTypeCast());
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_6);
     } else {
@@ -3047,15 +3035,15 @@
     stringBuffer.append(genFeature.getSafeName());
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genFeature.getInternalTypeCast());
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_6);
     }
     }
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_308);
+    stringBuffer.append(TEXT_305);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_309);
+    stringBuffer.append(TEXT_306);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
@@ -3065,139 +3053,139 @@
     }
     if (genFeature.isUnsettable()) {
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_313);
+    stringBuffer.append(TEXT_310);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_314);
+    stringBuffer.append(TEXT_311);
     } else if (genClass.isESetFlag(genFeature)) {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_315);
+    stringBuffer.append(TEXT_312);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_316);
+    stringBuffer.append(TEXT_313);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_317);
+    stringBuffer.append(TEXT_314);
     }
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
     stringBuffer.append(TEXT_120);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_318);
+    stringBuffer.append(TEXT_315);
     } else {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_315);
+    stringBuffer.append(TEXT_312);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_319);
+    stringBuffer.append(TEXT_316);
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_320);
+    stringBuffer.append(TEXT_317);
     }
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getUncapName());
+    stringBuffer.append(TEXT_318);
+    }
+    if (!genModel.isSuppressNotification()) {
+    stringBuffer.append(TEXT_383);
+    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
+    stringBuffer.append(TEXT_253);
+    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
     stringBuffer.append(TEXT_321);
-    }
-    if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_386);
-    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
-    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_324);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_387);
+    stringBuffer.append(TEXT_384);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_388);
+    stringBuffer.append(TEXT_385);
     stringBuffer.append(genFeature.getCapName());
     } else {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
     }
     stringBuffer.append(TEXT_149);
     if (genClass.isFlag(genFeature)) {
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
     } else {
     stringBuffer.append(genFeature.getSafeName());
     }
     stringBuffer.append(TEXT_149);
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_327);
+    stringBuffer.append(TEXT_324);
     } else {
-    stringBuffer.append(TEXT_328);
+    stringBuffer.append(TEXT_325);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_329);
+    stringBuffer.append(TEXT_326);
     }
-    stringBuffer.append(TEXT_259);
+    stringBuffer.append(TEXT_256);
     }
     } else {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_386);
+    stringBuffer.append(TEXT_383);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_324);
+    stringBuffer.append(TEXT_321);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_389);
+    stringBuffer.append(TEXT_386);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_388);
+    stringBuffer.append(TEXT_385);
     stringBuffer.append(genFeature.getCapName());
     } else {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
     }
     stringBuffer.append(TEXT_149);
     if (genClass.isFlag(genFeature)) {
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
     } else {
     stringBuffer.append(genFeature.getSafeName());
     }
-    stringBuffer.append(TEXT_259);
+    stringBuffer.append(TEXT_256);
     }
     }
     }
     } else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();
     if (delegateFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_390);
+    stringBuffer.append(TEXT_387);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_274);
+    stringBuffer.append(TEXT_271);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_275);
+    stringBuffer.append(TEXT_272);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_391);
+    stringBuffer.append(TEXT_388);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_149);
     if (!isJDK50 && genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_343);
+    stringBuffer.append(TEXT_340);
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_93);
     }
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
     if (!isJDK50 && genFeature.isPrimitiveType()) {
     stringBuffer.append(TEXT_86);
     }
     stringBuffer.append(TEXT_146);
     } else {
-    stringBuffer.append(TEXT_390);
+    stringBuffer.append(TEXT_387);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_333);
+    stringBuffer.append(TEXT_330);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_392);
+    stringBuffer.append(TEXT_389);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_149);
     if (!isJDK50 && genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_343);
+    stringBuffer.append(TEXT_340);
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_93);
     }
-    stringBuffer.append(TEXT_344);
+    stringBuffer.append(TEXT_341);
     stringBuffer.append(genFeature.getCapName());
     if (!isJDK50 && genFeature.isPrimitiveType()) {
     stringBuffer.append(TEXT_86);
@@ -3208,11 +3196,11 @@
     stringBuffer.append(TEXT_119);
     stringBuffer.append(setAccessorOperation.getBody(genModel.getIndentation(stringBuffer)));
     } else {
-    stringBuffer.append(TEXT_393);
+    stringBuffer.append(TEXT_390);
     stringBuffer.append(genFeature.getFormattedName());
-    stringBuffer.append(TEXT_288);
+    stringBuffer.append(TEXT_285);
     stringBuffer.append(genFeature.getFeatureKind());
-    stringBuffer.append(TEXT_394);
+    stringBuffer.append(TEXT_391);
     //Class/setGenFeature.todo.override.javajetinc
     }
     stringBuffer.append(TEXT_176);
@@ -3233,32 +3221,32 @@
     }
     stringBuffer.append(TEXT_131);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_395);
+    stringBuffer.append(TEXT_392);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_303);
+    stringBuffer.append(TEXT_300);
     if (genModel.isDynamicDelegation()) {
-    stringBuffer.append(TEXT_396);
+    stringBuffer.append(TEXT_393);
     stringBuffer.append(genFeature.getAsInternalEObject("", false));
     if (genFeature.isResolveProxies()) {
-    stringBuffer.append(TEXT_397);
+    stringBuffer.append(TEXT_394);
     stringBuffer.append(genFeature.getAccessorName());
     } else {
     stringBuffer.append(genFeature.getGetAccessor());
     }
-    stringBuffer.append(TEXT_398);
+    stringBuffer.append(TEXT_395);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_305);
+    stringBuffer.append(TEXT_302);
     } else if (!genFeature.isVolatile()) {
     if (genModel.isVirtualDelegation()) {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_399);
+    stringBuffer.append(TEXT_396);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_76);
     }
-    stringBuffer.append(TEXT_400);
+    stringBuffer.append(TEXT_397);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_146);
@@ -3266,7 +3254,7 @@
     if (!genModel.isSuppressNotification()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_232);
+    stringBuffer.append(TEXT_229);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genFeature.getSafeName());
@@ -3274,76 +3262,76 @@
     }
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_401);
+    stringBuffer.append(TEXT_398);
     }
     if (genModel.isVirtualDelegation()) {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_313);
+    stringBuffer.append(TEXT_310);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_402);
+    stringBuffer.append(TEXT_399);
     }
     } else if (genClass.isESetFlag(genFeature)) {
     if (!genModel.isSuppressNotification()) {
+    stringBuffer.append(TEXT_312);
+    stringBuffer.append(genFeature.getCapName());
+    stringBuffer.append(TEXT_313);
+    stringBuffer.append(genClass.getESetFlagsField(genFeature));
+    stringBuffer.append(TEXT_259);
+    stringBuffer.append(genFeature.getUpperName());
+    stringBuffer.append(TEXT_314);
+    }
+    stringBuffer.append(TEXT_119);
+    stringBuffer.append(genClass.getESetFlagsField(genFeature));
+    stringBuffer.append(TEXT_373);
+    stringBuffer.append(genFeature.getUpperName());
     stringBuffer.append(TEXT_315);
+    } else {
+    if (!genModel.isSuppressNotification()) {
+    stringBuffer.append(TEXT_312);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_316);
-    stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
-    stringBuffer.append(genFeature.getUpperName());
+    stringBuffer.append(genFeature.getUncapName());
     stringBuffer.append(TEXT_317);
     }
     stringBuffer.append(TEXT_119);
-    stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_376);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_318);
-    } else {
-    if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_315);
-    stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_319);
     stringBuffer.append(genFeature.getUncapName());
+    stringBuffer.append(TEXT_400);
+    }
+    if (!genModel.isSuppressNotification()) {
+    stringBuffer.append(TEXT_401);
+    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
     stringBuffer.append(TEXT_320);
-    }
-    stringBuffer.append(TEXT_119);
-    stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_403);
-    }
-    if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_404);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_323);
-    stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_405);
+    stringBuffer.append(TEXT_402);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_406);
+    stringBuffer.append(TEXT_403);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_407);
+    stringBuffer.append(TEXT_404);
     } else {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
     }
-    stringBuffer.append(TEXT_408);
+    stringBuffer.append(TEXT_405);
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_327);
+    stringBuffer.append(TEXT_324);
     } else {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_329);
+    stringBuffer.append(TEXT_326);
     }
-    stringBuffer.append(TEXT_409);
+    stringBuffer.append(TEXT_406);
     }
     } else {
-    stringBuffer.append(TEXT_410);
+    stringBuffer.append(TEXT_407);
     stringBuffer.append(genFeature.getFormattedName());
-    stringBuffer.append(TEXT_288);
+    stringBuffer.append(TEXT_285);
     stringBuffer.append(genFeature.getFeatureKind());
-    stringBuffer.append(TEXT_336);
+    stringBuffer.append(TEXT_333);
     //Class/basicUnsetGenFeature.todo.override.javajetinc
     }
     stringBuffer.append(TEXT_176);
@@ -3351,7 +3339,7 @@
     }
     if (genFeature.isUnset() && (isImplementation || !genFeature.isSuppressedUnsetVisibility())) {
     if (isInterface) {
-    stringBuffer.append(TEXT_411);
+    stringBuffer.append(TEXT_408);
     stringBuffer.append(genClass.getRawQualifiedInterfaceName());
     stringBuffer.append(TEXT_15);
     stringBuffer.append(genFeature.getGetAccessor());
@@ -3360,17 +3348,17 @@
     stringBuffer.append(TEXT_62);
     stringBuffer.append(genFeature.getFeatureKind());
     stringBuffer.append(TEXT_189);
-    stringBuffer.append(TEXT_412);
+    stringBuffer.append(TEXT_203);
     if (!genFeature.isSuppressedIsSetVisibility()) {
-    stringBuffer.append(TEXT_212);
+    stringBuffer.append(TEXT_209);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_21);
     }
-    stringBuffer.append(TEXT_339);
+    stringBuffer.append(TEXT_336);
     stringBuffer.append(genFeature.getGetAccessor());
     stringBuffer.append(TEXT_21);
     if (!genFeature.isListType() && !genFeature.isSuppressedSetVisibility()) {
-    stringBuffer.append(TEXT_214);
+    stringBuffer.append(TEXT_211);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genFeature.getRawImportedBoundType());
@@ -3396,36 +3384,36 @@
     stringBuffer.append(TEXT_55);
     }
     if (!isImplementation) {
-    stringBuffer.append(TEXT_413);
+    stringBuffer.append(TEXT_409);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_163);
     } else {
     if (useInterfaceOverrideAnnotation && !genClass.isMapEntry() && !genClass.hasCollidingUnsetAccessorOperation(genFeature) && !genFeature.isSuppressedUnsetVisibility()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_414);
+    stringBuffer.append(TEXT_410);
     stringBuffer.append(genFeature.getAccessorName());
     if (genClass.hasCollidingUnsetAccessorOperation(genFeature)) {
     stringBuffer.append(TEXT_143);
     }
     stringBuffer.append(TEXT_132);
     if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
-    stringBuffer.append(TEXT_415);
+    stringBuffer.append(TEXT_411);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     if (genClass.hasStaticFeatures()){
-    stringBuffer.append(TEXT_219);
+    stringBuffer.append(TEXT_216);
     }
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     } else if (genModel.isReflectiveDelegation()) {
-    stringBuffer.append(TEXT_416);
+    stringBuffer.append(TEXT_412);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     } else if (genFeature.hasSettingDelegate()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_417);
+    stringBuffer.append(TEXT_413);
     } else if (!genFeature.isVolatile()) {
     if (genFeature.isListType()) {
     if (genModel.isVirtualDelegation()) {
@@ -3442,13 +3430,13 @@
     }
     stringBuffer.append(TEXT_136);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_418);
+    stringBuffer.append(TEXT_414);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
-    stringBuffer.append(TEXT_419);
+    stringBuffer.append(TEXT_415);
     stringBuffer.append(singleWildcard);
     stringBuffer.append(TEXT_86);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_420);
+    stringBuffer.append(TEXT_416);
     } else if (genFeature.isBidirectional() || genFeature.isEffectiveContains()) {
     if (genModel.isVirtualDelegation()) {
     stringBuffer.append(TEXT_119);
@@ -3464,109 +3452,109 @@
     }
     stringBuffer.append(TEXT_136);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_421);
+    stringBuffer.append(TEXT_417);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_422);
+    stringBuffer.append(TEXT_418);
     if (!genFeature.isBidirectional()) {
-    stringBuffer.append(TEXT_423);
+    stringBuffer.append(TEXT_419);
     stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
-    stringBuffer.append(TEXT_240);
+    stringBuffer.append(TEXT_237);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_249);
+    stringBuffer.append(TEXT_246);
     } else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
-    stringBuffer.append(TEXT_423);
+    stringBuffer.append(TEXT_419);
     stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
-    stringBuffer.append(TEXT_243);
+    stringBuffer.append(TEXT_240);
     stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
     stringBuffer.append(reverseOffsetCorrection);
     stringBuffer.append(TEXT_149);
     stringBuffer.append(targetClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_252);
+    stringBuffer.append(TEXT_249);
     }
-    stringBuffer.append(TEXT_424);
+    stringBuffer.append(TEXT_420);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_425);
+    stringBuffer.append(TEXT_421);
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_368);
+    stringBuffer.append(TEXT_365);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_369);
+    stringBuffer.append(TEXT_366);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_146);
     } else if (genClass.isESetFlag(genFeature)) {
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_368);
+    stringBuffer.append(TEXT_365);
+    stringBuffer.append(genFeature.getCapName());
+    stringBuffer.append(TEXT_313);
+    stringBuffer.append(genClass.getESetFlagsField(genFeature));
+    stringBuffer.append(TEXT_259);
+    stringBuffer.append(genFeature.getUpperName());
+    stringBuffer.append(TEXT_314);
+    }
+    stringBuffer.append(TEXT_151);
+    stringBuffer.append(genClass.getESetFlagsField(genFeature));
+    stringBuffer.append(TEXT_373);
+    stringBuffer.append(genFeature.getUpperName());
+    stringBuffer.append(TEXT_315);
+    } else {
+    if (!genModel.isSuppressNotification()) {
+    stringBuffer.append(TEXT_365);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_316);
-    stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
-    stringBuffer.append(genFeature.getUpperName());
+    stringBuffer.append(genFeature.getUncapName());
     stringBuffer.append(TEXT_317);
     }
     stringBuffer.append(TEXT_151);
-    stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_376);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_318);
-    } else {
-    if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_368);
-    stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_319);
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_320);
-    }
-    stringBuffer.append(TEXT_151);
-    stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_403);
+    stringBuffer.append(TEXT_400);
     }
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_370);
+    stringBuffer.append(TEXT_367);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_405);
+    stringBuffer.append(TEXT_402);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_426);
+    stringBuffer.append(TEXT_422);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_372);
+    stringBuffer.append(TEXT_369);
     }
-    stringBuffer.append(TEXT_373);
+    stringBuffer.append(TEXT_370);
     } else {
     if (genClass.isFlag(genFeature)) {
     if (!genModel.isSuppressNotification()) {
     if (genFeature.isBooleanType()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_232);
+    stringBuffer.append(TEXT_229);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_144);
     stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_263);
+    stringBuffer.append(TEXT_260);
     } else {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_232);
+    stringBuffer.append(TEXT_229);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_264);
+    stringBuffer.append(TEXT_261);
     stringBuffer.append(genClass.getFlagsField(genFeature));
+    stringBuffer.append(TEXT_259);
+    stringBuffer.append(genFeature.getUpperName());
     stringBuffer.append(TEXT_262);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_265);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_266);
+    stringBuffer.append(TEXT_263);
     }
     }
     } else if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_308);
+    stringBuffer.append(TEXT_305);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_427);
+    stringBuffer.append(TEXT_423);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_146);
@@ -3574,7 +3562,7 @@
     if (!genModel.isSuppressNotification()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_232);
+    stringBuffer.append(TEXT_229);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genFeature.getSafeName());
@@ -3583,93 +3571,93 @@
     }
     if (!genModel.isSuppressNotification()) {
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_313);
+    stringBuffer.append(TEXT_310);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_402);
+    stringBuffer.append(TEXT_399);
     } else if (genClass.isESetFlag(genFeature)) {
-    stringBuffer.append(TEXT_315);
+    stringBuffer.append(TEXT_312);
+    stringBuffer.append(genFeature.getCapName());
+    stringBuffer.append(TEXT_313);
+    stringBuffer.append(genClass.getESetFlagsField(genFeature));
+    stringBuffer.append(TEXT_259);
+    stringBuffer.append(genFeature.getUpperName());
+    stringBuffer.append(TEXT_314);
+    } else {
+    stringBuffer.append(TEXT_312);
     stringBuffer.append(genFeature.getCapName());
     stringBuffer.append(TEXT_316);
-    stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_317);
-    } else {
-    stringBuffer.append(TEXT_315);
-    stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_319);
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_320);
+    stringBuffer.append(TEXT_317);
     }
     }
     if (genFeature.isReferenceType()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_401);
+    stringBuffer.append(TEXT_398);
     if (!genModel.isVirtualDelegation()) {
     if (genClass.isESetFlag(genFeature)) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_376);
+    stringBuffer.append(TEXT_373);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_318);
+    stringBuffer.append(TEXT_315);
     } else {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_403);
+    stringBuffer.append(TEXT_400);
     }
     }
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_386);
+    stringBuffer.append(TEXT_383);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_405);
+    stringBuffer.append(TEXT_402);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_406);
+    stringBuffer.append(TEXT_403);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_407);
+    stringBuffer.append(TEXT_404);
     } else {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
     }
-    stringBuffer.append(TEXT_408);
+    stringBuffer.append(TEXT_405);
     if (genModel.isVirtualDelegation()) {
-    stringBuffer.append(TEXT_327);
+    stringBuffer.append(TEXT_324);
     } else {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_329);
+    stringBuffer.append(TEXT_326);
     }
-    stringBuffer.append(TEXT_259);
+    stringBuffer.append(TEXT_256);
     }
     } else {
     if (genClass.isFlag(genFeature)) {
     if (genFeature.isBooleanType()) {
     stringBuffer.append(TEXT_136);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_374);
+    stringBuffer.append(TEXT_371);
     stringBuffer.append(genClass.getFlagsField(genFeature));
     stringBuffer.append(TEXT_120);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_375);
+    stringBuffer.append(TEXT_372);
     stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_376);
+    stringBuffer.append(TEXT_373);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_377);
+    stringBuffer.append(TEXT_374);
     } else {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genClass.getFlagsField(genFeature));
     stringBuffer.append(TEXT_76);
     stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_380);
+    stringBuffer.append(TEXT_377);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_381);
+    stringBuffer.append(TEXT_378);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_428);
+    stringBuffer.append(TEXT_424);
     }
     } else if (!genModel.isVirtualDelegation() || genFeature.isPrimitiveType()) {
     stringBuffer.append(TEXT_119);
@@ -3682,64 +3670,64 @@
     if (genClass.isESetFlag(genFeature)) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_376);
+    stringBuffer.append(TEXT_373);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_318);
+    stringBuffer.append(TEXT_315);
     } else {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_403);
+    stringBuffer.append(TEXT_400);
     }
     }
     if (!genModel.isSuppressNotification()) {
-    stringBuffer.append(TEXT_386);
+    stringBuffer.append(TEXT_383);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.impl.ENotificationImpl"));
-    stringBuffer.append(TEXT_256);
+    stringBuffer.append(TEXT_253);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.Notification"));
-    stringBuffer.append(TEXT_405);
+    stringBuffer.append(TEXT_402);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_406);
+    stringBuffer.append(TEXT_403);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_429);
+    stringBuffer.append(TEXT_425);
     stringBuffer.append(genFeature.getEDefault());
     } else {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
     }
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genFeature.getEDefault());
     stringBuffer.append(TEXT_149);
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_327);
+    stringBuffer.append(TEXT_324);
     } else {
-    stringBuffer.append(TEXT_326);
+    stringBuffer.append(TEXT_323);
     stringBuffer.append(genFeature.getCapName());
-    stringBuffer.append(TEXT_329);
+    stringBuffer.append(TEXT_326);
     }
-    stringBuffer.append(TEXT_259);
+    stringBuffer.append(TEXT_256);
     }
     }
     }
     } else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();
     if (delegateFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_390);
+    stringBuffer.append(TEXT_387);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_274);
+    stringBuffer.append(TEXT_271);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_275);
+    stringBuffer.append(TEXT_272);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_430);
+    stringBuffer.append(TEXT_426);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     } else {
-    stringBuffer.append(TEXT_390);
+    stringBuffer.append(TEXT_387);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_333);
+    stringBuffer.append(TEXT_330);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_431);
+    stringBuffer.append(TEXT_427);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     }
@@ -3747,11 +3735,11 @@
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genClass.getUnsetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));
     } else {
-    stringBuffer.append(TEXT_432);
+    stringBuffer.append(TEXT_428);
     stringBuffer.append(genFeature.getFormattedName());
-    stringBuffer.append(TEXT_288);
+    stringBuffer.append(TEXT_285);
     stringBuffer.append(genFeature.getFeatureKind());
-    stringBuffer.append(TEXT_394);
+    stringBuffer.append(TEXT_391);
     //Class/unsetGenFeature.todo.override.javajetinc
     }
     stringBuffer.append(TEXT_176);
@@ -3760,7 +3748,7 @@
     }
     if (genFeature.isIsSet() && (isImplementation || !genFeature.isSuppressedIsSetVisibility())) {
     if (isInterface) {
-    stringBuffer.append(TEXT_433);
+    stringBuffer.append(TEXT_429);
     stringBuffer.append(genClass.getRawQualifiedInterfaceName());
     stringBuffer.append(TEXT_15);
     stringBuffer.append(genFeature.getGetAccessor());
@@ -3768,22 +3756,22 @@
     stringBuffer.append(genFeature.getFormattedName());
     stringBuffer.append(TEXT_62);
     stringBuffer.append(genFeature.getFeatureKind());
-    stringBuffer.append(TEXT_434);
-    stringBuffer.append(TEXT_435);
+    stringBuffer.append(TEXT_430);
+    stringBuffer.append(TEXT_431);
     stringBuffer.append(genFeature.getFormattedName());
-    stringBuffer.append(TEXT_205);
+    stringBuffer.append(TEXT_207);
     stringBuffer.append(genFeature.getFeatureKind());
-    stringBuffer.append(TEXT_434);
+    stringBuffer.append(TEXT_430);
     if (genFeature.isChangeable() && !genFeature.isSuppressedUnsetVisibility()) {
-    stringBuffer.append(TEXT_213);
+    stringBuffer.append(TEXT_210);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_21);
     }
-    stringBuffer.append(TEXT_339);
+    stringBuffer.append(TEXT_336);
     stringBuffer.append(genFeature.getGetAccessor());
     stringBuffer.append(TEXT_21);
     if (!genFeature.isListType() && genFeature.isChangeable() && !genFeature.isSuppressedSetVisibility()) {
-    stringBuffer.append(TEXT_214);
+    stringBuffer.append(TEXT_211);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genFeature.getRawImportedBoundType());
@@ -3809,36 +3797,36 @@
     stringBuffer.append(TEXT_55);
     }
     if (!isImplementation) {
-    stringBuffer.append(TEXT_436);
+    stringBuffer.append(TEXT_432);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_163);
     } else {
     if (useInterfaceOverrideAnnotation  && !genClass.isMapEntry() && !genClass.hasCollidingIsSetAccessorOperation(genFeature) && !genFeature.isSuppressedIsSetVisibility()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_437);
+    stringBuffer.append(TEXT_433);
     stringBuffer.append(genFeature.getAccessorName());
     if (genClass.hasCollidingIsSetAccessorOperation(genFeature)) {
     stringBuffer.append(TEXT_143);
     }
     stringBuffer.append(TEXT_132);
     if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {
-    stringBuffer.append(TEXT_438);
+    stringBuffer.append(TEXT_434);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     if (genClass.hasStaticFeatures()){
-    stringBuffer.append(TEXT_219);
+    stringBuffer.append(TEXT_216);
     }
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     } else if (genModel.isReflectiveDelegation()) {
-    stringBuffer.append(TEXT_439);
+    stringBuffer.append(TEXT_435);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     } else if (genFeature.hasSettingDelegate()) {
     stringBuffer.append(TEXT_172);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_440);
+    stringBuffer.append(TEXT_436);
     } else if (!genFeature.isVolatile()) {
     if (genFeature.isListType()) {
     if (genModel.isVirtualDelegation()) {
@@ -3855,48 +3843,48 @@
     }
     stringBuffer.append(TEXT_172);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_441);
+    stringBuffer.append(TEXT_437);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
-    stringBuffer.append(TEXT_419);
+    stringBuffer.append(TEXT_415);
     stringBuffer.append(singleWildcard);
     stringBuffer.append(TEXT_86);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_442);
+    stringBuffer.append(TEXT_438);
     } else {
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_443);
+    stringBuffer.append(TEXT_439);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_146);
     } else if (genClass.isESetFlag(genFeature)) {
-    stringBuffer.append(TEXT_261);
+    stringBuffer.append(TEXT_258);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_317);
+    stringBuffer.append(TEXT_314);
     } else {
     stringBuffer.append(TEXT_172);
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_320);
+    stringBuffer.append(TEXT_317);
     }
     }
     } else if (genFeature.hasDelegateFeature()) { GenFeature delegateFeature = genFeature.getDelegateFeature();
     if (delegateFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_444);
+    stringBuffer.append(TEXT_440);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_274);
+    stringBuffer.append(TEXT_271);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_275);
+    stringBuffer.append(TEXT_272);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_445);
+    stringBuffer.append(TEXT_441);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     } else {
-    stringBuffer.append(TEXT_444);
+    stringBuffer.append(TEXT_440);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_333);
+    stringBuffer.append(TEXT_330);
     stringBuffer.append(delegateFeature.getAccessorName());
-    stringBuffer.append(TEXT_446);
+    stringBuffer.append(TEXT_442);
     stringBuffer.append(genFeature.getQualifiedFeatureAccessor());
     stringBuffer.append(TEXT_146);
     }
@@ -3904,11 +3892,11 @@
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genClass.getIsSetAccessorOperation(genFeature).getBody(genModel.getIndentation(stringBuffer)));
     } else {
-    stringBuffer.append(TEXT_447);
+    stringBuffer.append(TEXT_443);
     stringBuffer.append(genFeature.getFormattedName());
-    stringBuffer.append(TEXT_288);
+    stringBuffer.append(TEXT_285);
     stringBuffer.append(genFeature.getFeatureKind());
-    stringBuffer.append(TEXT_448);
+    stringBuffer.append(TEXT_444);
     //Class/isSetGenFeature.todo.override.javajetinc
     }
     stringBuffer.append(TEXT_176);
@@ -3921,13 +3909,13 @@
     for (GenOperation genOperation : (isImplementation ? genClass.getImplementedGenOperations() : genClass.getDeclaredGenOperations())) {
     if (isImplementation) {
     if (genOperation.isInvariant() && genOperation.hasInvariantExpression()) {
-    stringBuffer.append(TEXT_449);
+    stringBuffer.append(TEXT_445);
     stringBuffer.append(genOperation.getName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genOperation.getParameterTypes(", "));
-    stringBuffer.append(TEXT_450);
+    stringBuffer.append(TEXT_446);
     stringBuffer.append(genOperation.getFormattedName());
-    stringBuffer.append(TEXT_451);
+    stringBuffer.append(TEXT_447);
     stringBuffer.append(genOperation.getName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genOperation.getParameterTypes(", "));
@@ -3944,19 +3932,19 @@
     stringBuffer.append(genModel.getImportedName("java.lang.String"));
     stringBuffer.append(TEXT_70);
     stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
-    stringBuffer.append(TEXT_452);
+    stringBuffer.append(TEXT_448);
     stringBuffer.append(genOperation.getInvariantExpression("\t\t"));
     stringBuffer.append(TEXT_40);
     stringBuffer.append(genModel.getNonNLS());
     stringBuffer.append(TEXT_7);
     } else if (genOperation.hasInvocationDelegate()) {
-    stringBuffer.append(TEXT_453);
+    stringBuffer.append(TEXT_449);
     stringBuffer.append(genOperation.getName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genOperation.getParameterTypes(", "));
-    stringBuffer.append(TEXT_450);
+    stringBuffer.append(TEXT_446);
     stringBuffer.append(genOperation.getFormattedName());
-    stringBuffer.append(TEXT_454);
+    stringBuffer.append(TEXT_450);
     stringBuffer.append(genOperation.getName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genOperation.getParameterTypes(", "));
@@ -3971,20 +3959,20 @@
     }
     stringBuffer.append(TEXT_57);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
-    stringBuffer.append(TEXT_455);
+    stringBuffer.append(TEXT_451);
     stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
-    stringBuffer.append(TEXT_456);
+    stringBuffer.append(TEXT_452);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EOperation"));
     stringBuffer.append(TEXT_67);
     stringBuffer.append(genOperation.getQualifiedOperationAccessor());
-    stringBuffer.append(TEXT_457);
+    stringBuffer.append(TEXT_453);
     }
     }
     if (isInterface) {
-    stringBuffer.append(TEXT_458);
-    stringBuffer.append(TEXT_412);
+    stringBuffer.append(TEXT_454);
+    stringBuffer.append(TEXT_203);
     if (genOperation.hasDocumentation() || genOperation.hasParameterDocumentation()) {
-    stringBuffer.append(TEXT_459);
+    stringBuffer.append(TEXT_455);
     if (genOperation.hasDocumentation()) {
     stringBuffer.append(TEXT_53);
     stringBuffer.append(genOperation.getDocumentation(genModel.getIndentation(stringBuffer)));
@@ -3992,28 +3980,28 @@
     for (GenParameter genParameter : genOperation.getGenParameters()) {
     if (genParameter.hasDocumentation()) { String documentation = genParameter.getDocumentation("");
     if (documentation.contains("\n") || documentation.contains("\r")) {
-    stringBuffer.append(TEXT_460);
+    stringBuffer.append(TEXT_456);
     stringBuffer.append(genParameter.getName());
-    stringBuffer.append(TEXT_461);
+    stringBuffer.append(TEXT_457);
     stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));
     } else {
-    stringBuffer.append(TEXT_460);
+    stringBuffer.append(TEXT_456);
     stringBuffer.append(genParameter.getName());
     stringBuffer.append(TEXT_70);
     stringBuffer.append(genParameter.getDocumentation(genModel.getIndentation(stringBuffer)));
     }
     }
     }
-    stringBuffer.append(TEXT_209);
+    stringBuffer.append(TEXT_205);
     }
     if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genOperation.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;
-    stringBuffer.append(TEXT_215);
+    stringBuffer.append(TEXT_212);
     stringBuffer.append(modelInfo);
     } else {
-    stringBuffer.append(TEXT_216);
+    stringBuffer.append(TEXT_213);
     stringBuffer.append(modelInfo);
     }} if (first) {
-    stringBuffer.append(TEXT_217);
+    stringBuffer.append(TEXT_214);
     }}
     stringBuffer.append(TEXT_112);
     //Class/genOperation.javadoc.override.javajetinc
@@ -4057,85 +4045,85 @@
     stringBuffer.append(genOperation.getParameters(isImplementation, genClass));
     stringBuffer.append(TEXT_86);
     stringBuffer.append(genOperation.getThrows(genClass));
-    stringBuffer.append(TEXT_462);
+    stringBuffer.append(TEXT_458);
     if (genOperation.hasBody()) {
     stringBuffer.append(TEXT_119);
     stringBuffer.append(genOperation.getBody(genModel.getIndentation(stringBuffer)));
     } else if (genOperation.isInvariant()) {GenClass opClass = genOperation.getGenClass(); String diagnostics = genOperation.getGenParameters().get(0).getName(); String context = genOperation.getGenParameters().get(1).getName();
     if (genOperation.hasInvariantExpression()) {
-    stringBuffer.append(TEXT_463);
+    stringBuffer.append(TEXT_459);
     stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
-    stringBuffer.append(TEXT_464);
+    stringBuffer.append(TEXT_460);
     stringBuffer.append(genClass.getQualifiedClassifierAccessor());
-    stringBuffer.append(TEXT_465);
+    stringBuffer.append(TEXT_461);
     stringBuffer.append(diagnostics);
-    stringBuffer.append(TEXT_466);
+    stringBuffer.append(TEXT_462);
     stringBuffer.append(context);
-    stringBuffer.append(TEXT_467);
+    stringBuffer.append(TEXT_463);
     stringBuffer.append(genOperation.getValidationDelegate());
-    stringBuffer.append(TEXT_468);
+    stringBuffer.append(TEXT_464);
     stringBuffer.append(genModel.getNonNLS());
-    stringBuffer.append(TEXT_469);
+    stringBuffer.append(TEXT_465);
     stringBuffer.append(genOperation.getQualifiedOperationAccessor());
-    stringBuffer.append(TEXT_466);
+    stringBuffer.append(TEXT_462);
     stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
-    stringBuffer.append(TEXT_470);
+    stringBuffer.append(TEXT_466);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
-    stringBuffer.append(TEXT_471);
+    stringBuffer.append(TEXT_467);
     stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
-    stringBuffer.append(TEXT_472);
+    stringBuffer.append(TEXT_468);
     stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
     stringBuffer.append(TEXT_189);
     stringBuffer.append(opClass.getOperationID(genOperation));
     stringBuffer.append(TEXT_146);
     } else {
-    stringBuffer.append(TEXT_473);
+    stringBuffer.append(TEXT_469);
     stringBuffer.append(diagnostics);
-    stringBuffer.append(TEXT_474);
+    stringBuffer.append(TEXT_470);
     stringBuffer.append(diagnostics);
-    stringBuffer.append(TEXT_475);
+    stringBuffer.append(TEXT_471);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicDiagnostic"));
-    stringBuffer.append(TEXT_476);
+    stringBuffer.append(TEXT_472);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.Diagnostic"));
-    stringBuffer.append(TEXT_477);
+    stringBuffer.append(TEXT_473);
     stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
-    stringBuffer.append(TEXT_478);
+    stringBuffer.append(TEXT_474);
     stringBuffer.append(opClass.getGenPackage().getImportedValidatorClassName());
     stringBuffer.append(TEXT_189);
     stringBuffer.append(opClass.getOperationID(genOperation));
-    stringBuffer.append(TEXT_479);
+    stringBuffer.append(TEXT_475);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.plugin.EcorePlugin"));
-    stringBuffer.append(TEXT_480);
+    stringBuffer.append(TEXT_476);
     stringBuffer.append(genOperation.getName());
-    stringBuffer.append(TEXT_481);
+    stringBuffer.append(TEXT_477);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.EObjectValidator"));
-    stringBuffer.append(TEXT_482);
+    stringBuffer.append(TEXT_478);
     stringBuffer.append(context);
-    stringBuffer.append(TEXT_483);
+    stringBuffer.append(TEXT_479);
     stringBuffer.append(genModel.getNonNLS());
     stringBuffer.append(genModel.getNonNLS(2));
-    stringBuffer.append(TEXT_484);
+    stringBuffer.append(TEXT_480);
     }
     } else if (genOperation.hasInvocationDelegate()) { int size = genOperation.getGenParameters().size();
-    stringBuffer.append(TEXT_485);
+    stringBuffer.append(TEXT_481);
     if (genOperation.isVoid()) {
     stringBuffer.append(TEXT_151);
     stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
-    stringBuffer.append(TEXT_486);
+    stringBuffer.append(TEXT_482);
     if (size > 0) {
-    stringBuffer.append(TEXT_343);
+    stringBuffer.append(TEXT_340);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
-    stringBuffer.append(TEXT_487);
+    stringBuffer.append(TEXT_483);
     stringBuffer.append(size);
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genOperation.getParametersArray(genClass));
     stringBuffer.append(TEXT_86);
     } else {
-    stringBuffer.append(TEXT_488);
+    stringBuffer.append(TEXT_484);
     }
     stringBuffer.append(TEXT_146);
     } else {
-    stringBuffer.append(TEXT_489);
+    stringBuffer.append(TEXT_485);
     if (!isJDK50 && genOperation.isPrimitiveType()) {
     stringBuffer.append(TEXT_93);
     }
@@ -4143,33 +4131,33 @@
     stringBuffer.append(genOperation.getObjectType(genClass));
     stringBuffer.append(TEXT_86);
     stringBuffer.append(CodeGenUtil.upperName(genClass.getUniqueName(genOperation), genModel.getLocale()));
-    stringBuffer.append(TEXT_486);
+    stringBuffer.append(TEXT_482);
     if (size > 0) {
-    stringBuffer.append(TEXT_343);
+    stringBuffer.append(TEXT_340);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.BasicEList"));
-    stringBuffer.append(TEXT_487);
+    stringBuffer.append(TEXT_483);
     stringBuffer.append(size);
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genOperation.getParametersArray(genClass));
     stringBuffer.append(TEXT_86);
     } else {
-    stringBuffer.append(TEXT_488);
+    stringBuffer.append(TEXT_484);
     }
     stringBuffer.append(TEXT_86);
     if (!isJDK50 && genOperation.isPrimitiveType()) {
-    stringBuffer.append(TEXT_221);
+    stringBuffer.append(TEXT_218);
     stringBuffer.append(genOperation.getPrimitiveValueFunction());
     stringBuffer.append(TEXT_21);
     }
     stringBuffer.append(TEXT_6);
     }
-    stringBuffer.append(TEXT_490);
+    stringBuffer.append(TEXT_486);
     stringBuffer.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException"));
-    stringBuffer.append(TEXT_491);
+    stringBuffer.append(TEXT_487);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.WrappedException"));
-    stringBuffer.append(TEXT_492);
+    stringBuffer.append(TEXT_488);
     } else {
-    stringBuffer.append(TEXT_493);
+    stringBuffer.append(TEXT_489);
     //Class/implementedGenOperation.todo.override.javajetinc
     }
     stringBuffer.append(TEXT_176);
@@ -4190,51 +4178,51 @@
     }
     stringBuffer.append(TEXT_131);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_494);
+    stringBuffer.append(TEXT_490);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
-    stringBuffer.append(TEXT_495);
+    stringBuffer.append(TEXT_491);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_496);
+    stringBuffer.append(TEXT_492);
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_497);
+    stringBuffer.append(TEXT_493);
     for (GenFeature genFeature : genClass.getEInverseAddGenFeatures()) {
-    stringBuffer.append(TEXT_498);
+    stringBuffer.append(TEXT_494);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(TEXT_499);
+    stringBuffer.append(TEXT_495);
     if (genFeature.isListType()) { String cast = "("  + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList") + (!genModel.useGenerics() ? ")" : "<" + genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject") + ">)(" + genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList") + "<?>)");
     if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {
-    stringBuffer.append(TEXT_500);
+    stringBuffer.append(TEXT_496);
     stringBuffer.append(cast);
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
-    stringBuffer.append(TEXT_501);
+    stringBuffer.append(TEXT_497);
     stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
     stringBuffer.append(TEXT_86);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_502);
+    stringBuffer.append(TEXT_498);
     } else {
-    stringBuffer.append(TEXT_503);
+    stringBuffer.append(TEXT_499);
     stringBuffer.append(cast);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_504);
+    stringBuffer.append(TEXT_500);
     }
     } else if (genFeature.isContainer()) {
-    stringBuffer.append(TEXT_505);
+    stringBuffer.append(TEXT_501);
     if (genFeature.isBasicSet()) {
-    stringBuffer.append(TEXT_506);
+    stringBuffer.append(TEXT_502);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_273);
+    stringBuffer.append(TEXT_270);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_507);
+    stringBuffer.append(TEXT_503);
     } else {
-    stringBuffer.append(TEXT_508);
+    stringBuffer.append(TEXT_504);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_305);
+    stringBuffer.append(TEXT_302);
     }
     } else {
     if (genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
-    stringBuffer.append(TEXT_238);
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_70);
     stringBuffer.append(genFeature.getSafeName());
@@ -4245,51 +4233,51 @@
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_146);
     } else if (genFeature.isVolatile() || genClass.getImplementingGenModel(genFeature).isDynamicDelegation()) {
-    stringBuffer.append(TEXT_238);
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_70);
     stringBuffer.append(genFeature.getSafeName());
     stringBuffer.append(TEXT_76);
     if (genFeature.isResolveProxies()) {
-    stringBuffer.append(TEXT_397);
+    stringBuffer.append(TEXT_394);
     stringBuffer.append(genFeature.getAccessorName());
     } else {
     stringBuffer.append(genFeature.getGetAccessor());
     }
-    stringBuffer.append(TEXT_229);
+    stringBuffer.append(TEXT_226);
     }
-    stringBuffer.append(TEXT_509);
+    stringBuffer.append(TEXT_505);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_362);
+    stringBuffer.append(TEXT_359);
     if (genFeature.isEffectiveContains()) {
-    stringBuffer.append(TEXT_510);
+    stringBuffer.append(TEXT_506);
     stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
-    stringBuffer.append(TEXT_240);
+    stringBuffer.append(TEXT_237);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_249);
+    stringBuffer.append(TEXT_246);
     } else { GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
-    stringBuffer.append(TEXT_510);
+    stringBuffer.append(TEXT_506);
     stringBuffer.append(genFeature.getAsInternalEObject(genFeature.getSafeName(), true));
-    stringBuffer.append(TEXT_243);
+    stringBuffer.append(TEXT_240);
     stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
     stringBuffer.append(reverseOffsetCorrection);
     stringBuffer.append(TEXT_149);
     stringBuffer.append(targetClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_252);
+    stringBuffer.append(TEXT_249);
     }
-    stringBuffer.append(TEXT_506);
+    stringBuffer.append(TEXT_502);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_273);
+    stringBuffer.append(TEXT_270);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_507);
+    stringBuffer.append(TEXT_503);
     }
     }
-    stringBuffer.append(TEXT_373);
+    stringBuffer.append(TEXT_370);
     if (genModel.isMinimalReflectiveMethods()) {
-    stringBuffer.append(TEXT_511);
+    stringBuffer.append(TEXT_507);
     } else {
-    stringBuffer.append(TEXT_512);
+    stringBuffer.append(TEXT_508);
     }
     stringBuffer.append(TEXT_176);
     }
@@ -4300,66 +4288,66 @@
     }
     stringBuffer.append(TEXT_131);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_513);
+    stringBuffer.append(TEXT_509);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.InternalEObject"));
-    stringBuffer.append(TEXT_495);
+    stringBuffer.append(TEXT_491);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_496);
+    stringBuffer.append(TEXT_492);
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_497);
+    stringBuffer.append(TEXT_493);
     for (GenFeature genFeature : genClass.getEInverseRemoveGenFeatures()) {
-    stringBuffer.append(TEXT_498);
+    stringBuffer.append(TEXT_494);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(TEXT_499);
+    stringBuffer.append(TEXT_495);
     if (genFeature.isListType()) {
     if (genFeature.isMapType() && genFeature.isEffectiveSuppressEMFTypes()) {
-    stringBuffer.append(TEXT_500);
+    stringBuffer.append(TEXT_496);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
     stringBuffer.append(singleWildcard);
-    stringBuffer.append(TEXT_300);
+    stringBuffer.append(TEXT_297);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
-    stringBuffer.append(TEXT_501);
+    stringBuffer.append(TEXT_497);
     stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
     stringBuffer.append(TEXT_86);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_514);
+    stringBuffer.append(TEXT_510);
     } else if (genFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_500);
+    stringBuffer.append(TEXT_496);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
     stringBuffer.append(singleWildcard);
-    stringBuffer.append(TEXT_300);
+    stringBuffer.append(TEXT_297);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_515);
+    stringBuffer.append(TEXT_511);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_516);
+    stringBuffer.append(TEXT_512);
     } else {
-    stringBuffer.append(TEXT_500);
+    stringBuffer.append(TEXT_496);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.InternalEList"));
     stringBuffer.append(singleWildcard);
     stringBuffer.append(TEXT_86);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_517);
+    stringBuffer.append(TEXT_513);
     }
     } else if (genFeature.isContainer() && !genFeature.isBasicSet()) {
-    stringBuffer.append(TEXT_518);
+    stringBuffer.append(TEXT_514);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_305);
+    stringBuffer.append(TEXT_302);
     } else if (genFeature.isUnsettable()) {
-    stringBuffer.append(TEXT_519);
+    stringBuffer.append(TEXT_515);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_520);
+    stringBuffer.append(TEXT_516);
     } else {
-    stringBuffer.append(TEXT_506);
+    stringBuffer.append(TEXT_502);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_521);
+    stringBuffer.append(TEXT_517);
     }
     }
-    stringBuffer.append(TEXT_373);
+    stringBuffer.append(TEXT_370);
     if (genModel.isMinimalReflectiveMethods()) {
-    stringBuffer.append(TEXT_522);
+    stringBuffer.append(TEXT_518);
     } else {
-    stringBuffer.append(TEXT_523);
+    stringBuffer.append(TEXT_519);
     }
     stringBuffer.append(TEXT_176);
     }
@@ -4370,27 +4358,27 @@
     }
     stringBuffer.append(TEXT_131);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_524);
+    stringBuffer.append(TEXT_520);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.notify.NotificationChain"));
-    stringBuffer.append(TEXT_525);
+    stringBuffer.append(TEXT_521);
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_497);
+    stringBuffer.append(TEXT_493);
     for (GenFeature genFeature : genClass.getEBasicRemoveFromContainerGenFeatures()) {
     GenFeature reverseFeature = genFeature.getReverse(); GenClass targetClass = reverseFeature.getGenClass(); String reverseOffsetCorrection = targetClass.hasOffsetCorrection() ? " + " + genClass.getOffsetCorrectionField(genFeature) : "";
-    stringBuffer.append(TEXT_498);
+    stringBuffer.append(TEXT_494);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(TEXT_526);
+    stringBuffer.append(TEXT_522);
     stringBuffer.append(targetClass.getQualifiedFeatureID(reverseFeature));
     stringBuffer.append(reverseOffsetCorrection);
     stringBuffer.append(TEXT_149);
     stringBuffer.append(targetClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_252);
+    stringBuffer.append(TEXT_249);
     }
-    stringBuffer.append(TEXT_373);
+    stringBuffer.append(TEXT_370);
     if (genModel.isMinimalReflectiveMethods()) {
-    stringBuffer.append(TEXT_527);
+    stringBuffer.append(TEXT_523);
     } else {
-    stringBuffer.append(TEXT_528);
+    stringBuffer.append(TEXT_524);
     }
     stringBuffer.append(TEXT_176);
     }
@@ -4399,80 +4387,80 @@
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_529);
+    stringBuffer.append(TEXT_525);
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_497);
+    stringBuffer.append(TEXT_493);
     for (GenFeature genFeature : genClass.getEGetGenFeatures()) {
-    stringBuffer.append(TEXT_498);
+    stringBuffer.append(TEXT_494);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(TEXT_499);
+    stringBuffer.append(TEXT_495);
     if (genFeature.isPrimitiveType()) {
     if (isJDK50) {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_229);
+    stringBuffer.append(TEXT_226);
     } else if (genFeature.isBooleanType()) {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_531);
+    stringBuffer.append(TEXT_527);
     } else {
-    stringBuffer.append(TEXT_532);
+    stringBuffer.append(TEXT_528);
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_533);
+    stringBuffer.append(TEXT_529);
     }
     } else if (genFeature.isResolveProxies() && !genFeature.isListType()) {
-    stringBuffer.append(TEXT_534);
+    stringBuffer.append(TEXT_530);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_535);
+    stringBuffer.append(TEXT_531);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_229);
+    stringBuffer.append(TEXT_226);
     } else if (genFeature.isMapType()) {
     if (genFeature.isEffectiveSuppressEMFTypes()) {
-    stringBuffer.append(TEXT_536);
+    stringBuffer.append(TEXT_532);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
-    stringBuffer.append(TEXT_501);
+    stringBuffer.append(TEXT_497);
     stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
     stringBuffer.append(TEXT_86);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_537);
+    stringBuffer.append(TEXT_533);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_229);
+    stringBuffer.append(TEXT_226);
     } else {
-    stringBuffer.append(TEXT_538);
+    stringBuffer.append(TEXT_534);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_539);
+    stringBuffer.append(TEXT_535);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_540);
+    stringBuffer.append(TEXT_536);
     }
     } else if (genFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_536);
+    stringBuffer.append(TEXT_532);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_515);
+    stringBuffer.append(TEXT_511);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_541);
+    stringBuffer.append(TEXT_537);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_229);
+    stringBuffer.append(TEXT_226);
     } else if (genFeature.isFeatureMapType()) {
-    stringBuffer.append(TEXT_538);
+    stringBuffer.append(TEXT_534);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_542);
+    stringBuffer.append(TEXT_538);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
     stringBuffer.append(TEXT_67);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_543);
+    stringBuffer.append(TEXT_539);
     } else {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_229);
+    stringBuffer.append(TEXT_226);
     }
     }
-    stringBuffer.append(TEXT_373);
+    stringBuffer.append(TEXT_370);
     if (genModel.isMinimalReflectiveMethods()) {
-    stringBuffer.append(TEXT_544);
+    stringBuffer.append(TEXT_540);
     } else {
-    stringBuffer.append(TEXT_545);
+    stringBuffer.append(TEXT_541);
     }
     stringBuffer.append(TEXT_176);
     }
@@ -4488,70 +4476,70 @@
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_546);
+    stringBuffer.append(TEXT_542);
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_497);
+    stringBuffer.append(TEXT_493);
     for (GenFeature genFeature : genClass.getESetGenFeatures()) {
-    stringBuffer.append(TEXT_498);
+    stringBuffer.append(TEXT_494);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(TEXT_499);
+    stringBuffer.append(TEXT_495);
     if (genFeature.isListType()) {
     if (genFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_547);
+    stringBuffer.append(TEXT_543);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_274);
+    stringBuffer.append(TEXT_271);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_515);
+    stringBuffer.append(TEXT_511);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_548);
+    stringBuffer.append(TEXT_544);
     } else if (genFeature.isFeatureMapType()) {
-    stringBuffer.append(TEXT_547);
+    stringBuffer.append(TEXT_543);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
     stringBuffer.append(TEXT_67);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_549);
+    stringBuffer.append(TEXT_545);
     } else if (genFeature.isMapType()) {
     if (genFeature.isEffectiveSuppressEMFTypes()) {
-    stringBuffer.append(TEXT_547);
+    stringBuffer.append(TEXT_543);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
-    stringBuffer.append(TEXT_550);
+    stringBuffer.append(TEXT_546);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EMap"));
-    stringBuffer.append(TEXT_501);
+    stringBuffer.append(TEXT_497);
     stringBuffer.append(genFeature.getImportedMapTemplateArguments(genClass));
     stringBuffer.append(TEXT_86);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_551);
-    } else {
     stringBuffer.append(TEXT_547);
+    } else {
+    stringBuffer.append(TEXT_543);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature"));
-    stringBuffer.append(TEXT_552);
+    stringBuffer.append(TEXT_548);
+    stringBuffer.append(genFeature.getGetAccessor());
+    stringBuffer.append(TEXT_545);
+    }
+    } else {
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(genFeature.getGetAccessor());
     stringBuffer.append(TEXT_549);
-    }
-    } else {
-    stringBuffer.append(TEXT_238);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_553);
-    stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_554);
+    stringBuffer.append(TEXT_550);
     stringBuffer.append(genModel.getImportedName("java.util.Collection"));
     if (isJDK50) {
-    stringBuffer.append(TEXT_555);
+    stringBuffer.append(TEXT_551);
     stringBuffer.append(genFeature.getListItemType(genClass));
-    stringBuffer.append(TEXT_556);
+    stringBuffer.append(TEXT_552);
     }
-    stringBuffer.append(TEXT_557);
+    stringBuffer.append(TEXT_553);
     }
     } else if (!isJDK50 && genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_558);
+    stringBuffer.append(TEXT_554);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_559);
+    stringBuffer.append(TEXT_555);
     stringBuffer.append(genFeature.getObjectType(genClass));
-    stringBuffer.append(TEXT_560);
+    stringBuffer.append(TEXT_556);
     stringBuffer.append(genFeature.getPrimitiveValueFunction());
-    stringBuffer.append(TEXT_533);
+    stringBuffer.append(TEXT_529);
     } else {
-    stringBuffer.append(TEXT_558);
+    stringBuffer.append(TEXT_554);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_93);
     if (genFeature.getTypeGenDataType() == null || !genFeature.getTypeGenDataType().isObjectType() || !genFeature.getRawType().equals(genFeature.getType(genClass))) {
@@ -4559,15 +4547,15 @@
     stringBuffer.append(genFeature.getObjectType(genClass));
     stringBuffer.append(TEXT_86);
     }
-    stringBuffer.append(TEXT_561);
+    stringBuffer.append(TEXT_557);
     }
-    stringBuffer.append(TEXT_562);
+    stringBuffer.append(TEXT_558);
     }
-    stringBuffer.append(TEXT_373);
+    stringBuffer.append(TEXT_370);
     if (genModel.isMinimalReflectiveMethods()) {
-    stringBuffer.append(TEXT_563);
+    stringBuffer.append(TEXT_559);
     } else {
-    stringBuffer.append(TEXT_564);
+    stringBuffer.append(TEXT_560);
     }
     stringBuffer.append(TEXT_176);
     }
@@ -4576,53 +4564,53 @@
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_565);
+    stringBuffer.append(TEXT_561);
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_497);
+    stringBuffer.append(TEXT_493);
     for (GenFeature genFeature : genClass.getEUnsetGenFeatures()) {
-    stringBuffer.append(TEXT_498);
+    stringBuffer.append(TEXT_494);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(TEXT_499);
+    stringBuffer.append(TEXT_495);
     if (genFeature.isListType() && !genFeature.isUnsettable()) {
     if (genFeature.isWrappedFeatureMapType()) {
-    stringBuffer.append(TEXT_547);
+    stringBuffer.append(TEXT_543);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_515);
+    stringBuffer.append(TEXT_511);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_566);
+    stringBuffer.append(TEXT_562);
     } else {
-    stringBuffer.append(TEXT_238);
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_567);
+    stringBuffer.append(TEXT_563);
     }
     } else if (genFeature.isUnsettable()) {
-    stringBuffer.append(TEXT_568);
+    stringBuffer.append(TEXT_564);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_229);
+    stringBuffer.append(TEXT_226);
     } else if (!genFeature.hasEDefault()) {
-    stringBuffer.append(TEXT_558);
+    stringBuffer.append(TEXT_554);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_273);
+    stringBuffer.append(TEXT_270);
     stringBuffer.append(genFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_569);
+    stringBuffer.append(TEXT_565);
     } else if (genFeature.hasSettingDelegate()) {
-    stringBuffer.append(TEXT_238);
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_417);
+    stringBuffer.append(TEXT_413);
     } else {
-    stringBuffer.append(TEXT_558);
+    stringBuffer.append(TEXT_554);
     stringBuffer.append(genFeature.getAccessorName());
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genFeature.getEDefault());
     stringBuffer.append(TEXT_146);
     }
-    stringBuffer.append(TEXT_562);
+    stringBuffer.append(TEXT_558);
     }
-    stringBuffer.append(TEXT_373);
+    stringBuffer.append(TEXT_370);
     if (genModel.isMinimalReflectiveMethods()) {
-    stringBuffer.append(TEXT_570);
+    stringBuffer.append(TEXT_566);
     } else {
-    stringBuffer.append(TEXT_571);
+    stringBuffer.append(TEXT_567);
     }
     stringBuffer.append(TEXT_176);
     //Class/eUnset.override.javajetinc
@@ -4639,48 +4627,48 @@
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_572);
+    stringBuffer.append(TEXT_568);
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_497);
+    stringBuffer.append(TEXT_493);
     for (GenFeature genFeature : genClass.getEIsSetGenFeatures()) { String safeNameAccessor = genFeature.getSafeName(); if ("featureID".equals(safeNameAccessor)) { safeNameAccessor = "this." + safeNameAccessor; }
-    stringBuffer.append(TEXT_498);
+    stringBuffer.append(TEXT_494);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(TEXT_499);
+    stringBuffer.append(TEXT_495);
     if (genFeature.hasSettingDelegate()) {
     if (genFeature.isUnsettable()) {
-    stringBuffer.append(TEXT_573);
+    stringBuffer.append(TEXT_569);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_229);
+    stringBuffer.append(TEXT_226);
     } else {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_440);
+    stringBuffer.append(TEXT_436);
     }
     } else if (genFeature.isListType() && !genFeature.isUnsettable()) {
     if (genFeature.isWrappedFeatureMapType()) {
     if (genFeature.isVolatile()) {
-    stringBuffer.append(TEXT_574);
+    stringBuffer.append(TEXT_570);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap"));
-    stringBuffer.append(TEXT_515);
+    stringBuffer.append(TEXT_511);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_575);
+    stringBuffer.append(TEXT_571);
     } else {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_576);
+    stringBuffer.append(TEXT_572);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_577);
+    stringBuffer.append(TEXT_573);
     }
     } else {
     if (genClass.isField(genFeature)) {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_576);
+    stringBuffer.append(TEXT_572);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_578);
+    stringBuffer.append(TEXT_574);
     } else {
     if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
-    stringBuffer.append(TEXT_238);
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_70);
     stringBuffer.append(safeNameAccessor);
@@ -4689,115 +4677,115 @@
     stringBuffer.append(TEXT_145);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_579);
+    stringBuffer.append(TEXT_575);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_576);
+    stringBuffer.append(TEXT_572);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_578);
+    stringBuffer.append(TEXT_574);
     } else {
-    stringBuffer.append(TEXT_580);
+    stringBuffer.append(TEXT_576);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_581);
+    stringBuffer.append(TEXT_577);
     }
     }
     }
     } else if (genFeature.isUnsettable()) {
-    stringBuffer.append(TEXT_573);
+    stringBuffer.append(TEXT_569);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_229);
+    stringBuffer.append(TEXT_226);
     } else if (genFeature.isResolveProxies()) {
     if (genClass.isField(genFeature)) {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_582);
+    stringBuffer.append(TEXT_578);
     } else {
     if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
-    stringBuffer.append(TEXT_583);
+    stringBuffer.append(TEXT_579);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_584);
+    stringBuffer.append(TEXT_580);
     } else {
-    stringBuffer.append(TEXT_585);
+    stringBuffer.append(TEXT_581);
     stringBuffer.append(genFeature.getAccessorName());
-    stringBuffer.append(TEXT_586);
+    stringBuffer.append(TEXT_582);
     }
     }
     } else if (!genFeature.hasEDefault()) {
     if (genClass.isField(genFeature)) {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_582);
+    stringBuffer.append(TEXT_578);
     } else {
     if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
-    stringBuffer.append(TEXT_583);
+    stringBuffer.append(TEXT_579);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_584);
+    stringBuffer.append(TEXT_580);
     } else {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_586);
+    stringBuffer.append(TEXT_582);
     }
     }
     } else if (genFeature.isPrimitiveType() || genFeature.isEnumType()) {
     if (genClass.isField(genFeature)) {
     if (genClass.isFlag(genFeature)) {
     if (genFeature.isBooleanType()) {
-    stringBuffer.append(TEXT_500);
+    stringBuffer.append(TEXT_496);
     stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_587);
+    stringBuffer.append(TEXT_583);
     stringBuffer.append(genFeature.getEDefault());
     stringBuffer.append(TEXT_6);
     } else {
-    stringBuffer.append(TEXT_503);
+    stringBuffer.append(TEXT_499);
     stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_588);
+    stringBuffer.append(TEXT_584);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_428);
+    stringBuffer.append(TEXT_424);
     }
     } else {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_359);
+    stringBuffer.append(TEXT_356);
     stringBuffer.append(genFeature.getEDefault());
     stringBuffer.append(TEXT_6);
     }
     } else {
     if (genFeature.isEnumType() && genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
-    stringBuffer.append(TEXT_583);
+    stringBuffer.append(TEXT_579);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_589);
+    stringBuffer.append(TEXT_585);
     stringBuffer.append(genFeature.getEDefault());
     stringBuffer.append(TEXT_6);
     } else {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_590);
+    stringBuffer.append(TEXT_586);
     stringBuffer.append(genFeature.getEDefault());
     stringBuffer.append(TEXT_6);
     }
     }
     } else {//datatype
     if (genClass.isField(genFeature)) {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_384);
+    stringBuffer.append(TEXT_381);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_591);
+    stringBuffer.append(TEXT_587);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_592);
+    stringBuffer.append(TEXT_588);
     stringBuffer.append(safeNameAccessor);
     stringBuffer.append(TEXT_146);
     } else {
     if (genFeature.isField() && genClass.getImplementingGenModel(genFeature).isVirtualDelegation()) {
-    stringBuffer.append(TEXT_238);
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(genFeature.getImportedType(genClass));
     stringBuffer.append(TEXT_70);
     stringBuffer.append(safeNameAccessor);
@@ -4808,34 +4796,34 @@
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_579);
+    stringBuffer.append(TEXT_575);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_384);
+    stringBuffer.append(TEXT_381);
     stringBuffer.append(safeNameAccessor);
-    stringBuffer.append(TEXT_591);
+    stringBuffer.append(TEXT_587);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_592);
+    stringBuffer.append(TEXT_588);
     stringBuffer.append(safeNameAccessor);
     stringBuffer.append(TEXT_146);
     } else {
-    stringBuffer.append(TEXT_530);
+    stringBuffer.append(TEXT_526);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_384);
+    stringBuffer.append(TEXT_381);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_593);
+    stringBuffer.append(TEXT_589);
     stringBuffer.append(genFeature.getEDefault());
-    stringBuffer.append(TEXT_592);
+    stringBuffer.append(TEXT_588);
     stringBuffer.append(genFeature.getGetAccessor());
-    stringBuffer.append(TEXT_533);
+    stringBuffer.append(TEXT_529);
     }
     }
     }
     }
-    stringBuffer.append(TEXT_373);
+    stringBuffer.append(TEXT_370);
     if (genModel.isMinimalReflectiveMethods()) {
-    stringBuffer.append(TEXT_594);
+    stringBuffer.append(TEXT_590);
     } else {
-    stringBuffer.append(TEXT_595);
+    stringBuffer.append(TEXT_591);
     }
     stringBuffer.append(TEXT_176);
     //Class/eIsSet.override.javajetinc
@@ -4846,122 +4834,122 @@
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_596);
+    stringBuffer.append(TEXT_592);
     stringBuffer.append(singleWildcard);
-    stringBuffer.append(TEXT_597);
+    stringBuffer.append(TEXT_593);
     for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
-    stringBuffer.append(TEXT_598);
+    stringBuffer.append(TEXT_594);
     stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_599);
+    stringBuffer.append(TEXT_595);
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_237);
+    stringBuffer.append(TEXT_234);
     for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
-    stringBuffer.append(TEXT_600);
+    stringBuffer.append(TEXT_596);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(TEXT_601);
+    stringBuffer.append(TEXT_597);
     stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(TEXT_6);
     }
-    stringBuffer.append(TEXT_602);
+    stringBuffer.append(TEXT_598);
     }
-    stringBuffer.append(TEXT_603);
+    stringBuffer.append(TEXT_599);
     }
-    stringBuffer.append(TEXT_604);
+    stringBuffer.append(TEXT_600);
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_605);
-    stringBuffer.append(singleWildcard);
-    stringBuffer.append(TEXT_597);
-    for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
-    stringBuffer.append(TEXT_598);
-    stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_606);
-    for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
-    stringBuffer.append(TEXT_600);
-    stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(TEXT_601);
+    stringBuffer.append(singleWildcard);
+    stringBuffer.append(TEXT_593);
+    for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
+    stringBuffer.append(TEXT_594);
+    stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
+    stringBuffer.append(TEXT_602);
+    for (GenFeature genFeature : mixinGenClass.getGenFeatures()) {
+    stringBuffer.append(TEXT_596);
+    stringBuffer.append(mixinGenClass.getQualifiedFeatureID(genFeature));
+    stringBuffer.append(TEXT_597);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_6);
     }
-    stringBuffer.append(TEXT_602);
+    stringBuffer.append(TEXT_598);
     }
     if (genClass.hasOffsetCorrection() && !genClass.getGenFeatures().isEmpty()) {
-    stringBuffer.append(TEXT_598);
+    stringBuffer.append(TEXT_594);
     stringBuffer.append(genClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_607);
+    stringBuffer.append(TEXT_603);
     stringBuffer.append(negativeOffsetCorrection);
-    stringBuffer.append(TEXT_237);
+    stringBuffer.append(TEXT_234);
     for (GenFeature genFeature : genClass.getGenFeatures()) {
-    stringBuffer.append(TEXT_600);
+    stringBuffer.append(TEXT_596);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
-    stringBuffer.append(TEXT_601);
+    stringBuffer.append(TEXT_597);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     stringBuffer.append(TEXT_6);
     }
-    stringBuffer.append(TEXT_602);
+    stringBuffer.append(TEXT_598);
     }
-    stringBuffer.append(TEXT_608);
+    stringBuffer.append(TEXT_604);
     }
     if (genModel.isOperationReflection() && isImplementation && (!genClass.getMixinGenOperations().isEmpty() || !genClass.getOverrideGenOperations(genClass.getExtendedGenOperations(), genClass.getImplementedGenOperations()).isEmpty() || genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty())) {
     stringBuffer.append(TEXT_128);
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_609);
+    stringBuffer.append(TEXT_605);
     stringBuffer.append(singleWildcard);
-    stringBuffer.append(TEXT_597);
+    stringBuffer.append(TEXT_593);
     for (GenClass extendedGenClass : genClass.getExtendedGenClasses()) { List<GenOperation> extendedImplementedGenOperations = extendedGenClass.getImplementedGenOperations(); List<GenOperation> implementedGenOperations = genClass.getImplementedGenOperations();
     if (!genClass.getOverrideGenOperations(extendedImplementedGenOperations, implementedGenOperations).isEmpty()) {
-    stringBuffer.append(TEXT_598);
+    stringBuffer.append(TEXT_594);
     stringBuffer.append(extendedGenClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_610);
+    stringBuffer.append(TEXT_606);
     for (GenOperation genOperation : extendedImplementedGenOperations) { GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
     if (implementedGenOperations.contains(overrideGenOperation)) {
-    stringBuffer.append(TEXT_600);
+    stringBuffer.append(TEXT_596);
     stringBuffer.append(extendedGenClass.getQualifiedOperationID(genOperation));
-    stringBuffer.append(TEXT_601);
+    stringBuffer.append(TEXT_597);
     stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation));
     stringBuffer.append(positiveOperationOffsetCorrection);
     stringBuffer.append(TEXT_6);
     }
     }
-    stringBuffer.append(TEXT_611);
+    stringBuffer.append(TEXT_607);
     }
     }
     for (GenClass mixinGenClass : genClass.getMixinGenClasses()) {
-    stringBuffer.append(TEXT_598);
+    stringBuffer.append(TEXT_594);
     stringBuffer.append(mixinGenClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_610);
+    stringBuffer.append(TEXT_606);
     for (GenOperation genOperation : mixinGenClass.getGenOperations()) { GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
-    stringBuffer.append(TEXT_600);
+    stringBuffer.append(TEXT_596);
     stringBuffer.append(mixinGenClass.getQualifiedOperationID(genOperation));
-    stringBuffer.append(TEXT_601);
+    stringBuffer.append(TEXT_597);
     stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation));
     stringBuffer.append(positiveOperationOffsetCorrection);
     stringBuffer.append(TEXT_6);
     }
-    stringBuffer.append(TEXT_602);
+    stringBuffer.append(TEXT_598);
     }
     if (genClass.hasOffsetCorrection() && !genClass.getGenOperations().isEmpty()) {
-    stringBuffer.append(TEXT_598);
+    stringBuffer.append(TEXT_594);
     stringBuffer.append(genClass.getRawImportedInterfaceName());
-    stringBuffer.append(TEXT_612);
+    stringBuffer.append(TEXT_608);
     stringBuffer.append(negativeOperationOffsetCorrection);
-    stringBuffer.append(TEXT_237);
+    stringBuffer.append(TEXT_234);
     for (GenOperation genOperation : genClass.getGenOperations()) {
-    stringBuffer.append(TEXT_600);
+    stringBuffer.append(TEXT_596);
     stringBuffer.append(genClass.getQualifiedOperationID(genOperation));
-    stringBuffer.append(TEXT_601);
+    stringBuffer.append(TEXT_597);
     stringBuffer.append(genClass.getQualifiedOperationID(genOperation));
     stringBuffer.append(positiveOperationOffsetCorrection);
     stringBuffer.append(TEXT_6);
     }
-    stringBuffer.append(TEXT_602);
+    stringBuffer.append(TEXT_598);
     }
-    stringBuffer.append(TEXT_613);
+    stringBuffer.append(TEXT_609);
     }
     if (isImplementation && genModel.isVirtualDelegation()) { String eVirtualValuesField = genClass.getEVirtualValuesField();
     if (eVirtualValuesField != null) {
@@ -4969,15 +4957,15 @@
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_614);
+    stringBuffer.append(TEXT_610);
     stringBuffer.append(eVirtualValuesField);
-    stringBuffer.append(TEXT_615);
+    stringBuffer.append(TEXT_611);
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_616);
+    stringBuffer.append(TEXT_612);
     stringBuffer.append(eVirtualValuesField);
-    stringBuffer.append(TEXT_617);
+    stringBuffer.append(TEXT_613);
     }
     { List<String> eVirtualIndexBitFields = genClass.getEVirtualIndexBitFields(new ArrayList<String>());
     if (!eVirtualIndexBitFields.isEmpty()) { List<String> allEVirtualIndexBitFields = genClass.getAllEVirtualIndexBitFields(new ArrayList<String>());
@@ -4985,27 +4973,27 @@
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_618);
+    stringBuffer.append(TEXT_614);
     for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {
-    stringBuffer.append(TEXT_498);
+    stringBuffer.append(TEXT_494);
     stringBuffer.append(i);
-    stringBuffer.append(TEXT_619);
+    stringBuffer.append(TEXT_615);
     stringBuffer.append(allEVirtualIndexBitFields.get(i));
     stringBuffer.append(TEXT_6);
     }
-    stringBuffer.append(TEXT_620);
+    stringBuffer.append(TEXT_616);
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_621);
+    stringBuffer.append(TEXT_617);
     for (int i = 0; i < allEVirtualIndexBitFields.size(); i++) {
-    stringBuffer.append(TEXT_498);
+    stringBuffer.append(TEXT_494);
     stringBuffer.append(i);
-    stringBuffer.append(TEXT_622);
+    stringBuffer.append(TEXT_618);
     stringBuffer.append(allEVirtualIndexBitFields.get(i));
-    stringBuffer.append(TEXT_623);
+    stringBuffer.append(TEXT_619);
     }
-    stringBuffer.append(TEXT_624);
+    stringBuffer.append(TEXT_620);
     }
     }
     }
@@ -5017,32 +5005,32 @@
     if (genModel.useGenerics()) {
     boolean isUnchecked = false; boolean isRaw = false; LOOP: for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) { for (GenParameter genParameter : genOperation.getGenParameters()) { if (genParameter.isUncheckedCast()) { if (genParameter.getTypeGenDataType() == null || !genParameter.getTypeGenDataType().isObjectType()) { isUnchecked = true; } if (genParameter.usesOperationTypeParameters() && !genParameter.getEcoreParameter().getEGenericType().getETypeArguments().isEmpty()) { isRaw = true; break LOOP; }}}}
     if (isUnchecked) {
-    stringBuffer.append(TEXT_625);
+    stringBuffer.append(TEXT_621);
     if (!isRaw) {
-    stringBuffer.append(TEXT_626);
+    stringBuffer.append(TEXT_622);
     } else {
-    stringBuffer.append(TEXT_627);
+    stringBuffer.append(TEXT_623);
     }
     stringBuffer.append(TEXT_86);
     }
     }
-    stringBuffer.append(TEXT_628);
+    stringBuffer.append(TEXT_624);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.common.util.EList"));
     stringBuffer.append(singleWildcard);
-    stringBuffer.append(TEXT_629);
+    stringBuffer.append(TEXT_625);
     stringBuffer.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException"));
-    stringBuffer.append(TEXT_630);
+    stringBuffer.append(TEXT_626);
     stringBuffer.append(negativeOperationOffsetCorrection);
-    stringBuffer.append(TEXT_497);
+    stringBuffer.append(TEXT_493);
     for (GenOperation genOperation : (genModel.isMinimalReflectiveMethods() ? genClass.getImplementedGenOperations() : genClass.getAllGenOperations())) { List<GenParameter> genParameters = genOperation.getGenParameters(); int size = genParameters.size();  boolean hasCheckedException = genOperation.hasCheckedException(); String indent = hasCheckedException ? "\t" : ""; GenOperation overrideGenOperation = genClass.getOverrideGenOperation(genOperation);
-    stringBuffer.append(TEXT_498);
+    stringBuffer.append(TEXT_494);
     stringBuffer.append(genClass.getQualifiedOperationID(overrideGenOperation != null ? overrideGenOperation : genOperation));
-    stringBuffer.append(TEXT_499);
+    stringBuffer.append(TEXT_495);
     if (hasCheckedException) {
-    stringBuffer.append(TEXT_631);
+    stringBuffer.append(TEXT_627);
     /*}*/}
     if (genOperation.isVoid()) {
-    stringBuffer.append(TEXT_238);
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(indent);
     stringBuffer.append(genOperation.getName());
     stringBuffer.append(TEXT_93);
@@ -5055,11 +5043,11 @@
     stringBuffer.append(genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType() : genParameter.getObjectType(genClass));
     stringBuffer.append(TEXT_86);
     }
-    stringBuffer.append(TEXT_632);
+    stringBuffer.append(TEXT_628);
     stringBuffer.append(i);
     stringBuffer.append(TEXT_86);
     if (!isJDK50 && genParameter.isPrimitiveType()) {
-    stringBuffer.append(TEXT_221);
+    stringBuffer.append(TEXT_218);
     stringBuffer.append(genParameter.getPrimitiveValueFunction());
     stringBuffer.append(TEXT_21);
     }
@@ -5067,15 +5055,15 @@
     stringBuffer.append(TEXT_149);
     }
     }
-    stringBuffer.append(TEXT_633);
+    stringBuffer.append(TEXT_629);
     stringBuffer.append(indent);
-    stringBuffer.append(TEXT_634);
+    stringBuffer.append(TEXT_630);
     } else {
-    stringBuffer.append(TEXT_238);
+    stringBuffer.append(TEXT_235);
     stringBuffer.append(indent);
-    stringBuffer.append(TEXT_635);
+    stringBuffer.append(TEXT_631);
     if (!isJDK50 && genOperation.isPrimitiveType()) {
-    stringBuffer.append(TEXT_343);
+    stringBuffer.append(TEXT_340);
     stringBuffer.append(genOperation.getObjectType(genClass));
     stringBuffer.append(TEXT_93);
     }
@@ -5090,11 +5078,11 @@
     stringBuffer.append(genParameter.usesOperationTypeParameters() ? genParameter.getRawImportedType() : genParameter.getObjectType(genClass));
     stringBuffer.append(TEXT_86);
     }
-    stringBuffer.append(TEXT_632);
+    stringBuffer.append(TEXT_628);
     stringBuffer.append(i);
     stringBuffer.append(TEXT_86);
     if (!isJDK50 && genParameter.isPrimitiveType()) {
-    stringBuffer.append(TEXT_221);
+    stringBuffer.append(TEXT_218);
     stringBuffer.append(genParameter.getPrimitiveValueFunction());
     stringBuffer.append(TEXT_21);
     }
@@ -5109,18 +5097,18 @@
     stringBuffer.append(TEXT_6);
     }
     if (hasCheckedException) {/*{*/
-    stringBuffer.append(TEXT_636);
+    stringBuffer.append(TEXT_632);
     stringBuffer.append(genModel.getImportedName("java.lang.Throwable"));
-    stringBuffer.append(TEXT_637);
+    stringBuffer.append(TEXT_633);
     stringBuffer.append(genModel.getImportedName(isGWT ? "org.eclipse.emf.common.util.InvocationTargetException" : "java.lang.reflect.InvocationTargetException"));
-    stringBuffer.append(TEXT_638);
+    stringBuffer.append(TEXT_634);
     }
     }
-    stringBuffer.append(TEXT_373);
+    stringBuffer.append(TEXT_370);
     if (genModel.isMinimalReflectiveMethods()) {
-    stringBuffer.append(TEXT_639);
+    stringBuffer.append(TEXT_635);
     } else {
-    stringBuffer.append(TEXT_640);
+    stringBuffer.append(TEXT_636);
     }
     stringBuffer.append(TEXT_176);
     }
@@ -5129,33 +5117,33 @@
     if (genModel.useClassOverrideAnnotation()) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_641);
+    stringBuffer.append(TEXT_637);
     stringBuffer.append(genModel.useGenerics() ? "StringBuilder" : "StringBuffer");
-    stringBuffer.append(TEXT_642);
+    stringBuffer.append(TEXT_638);
     stringBuffer.append(genModel.useGenerics() ? "StringBuilder" : "StringBuffer");
-    stringBuffer.append(TEXT_643);
+    stringBuffer.append(TEXT_639);
     { boolean first = true;
     for (GenFeature genFeature : genClass.getToStringGenFeatures()) {
     if (first) { first = false;
-    stringBuffer.append(TEXT_644);
+    stringBuffer.append(TEXT_640);
     stringBuffer.append(genFeature.getName());
-    stringBuffer.append(TEXT_645);
+    stringBuffer.append(TEXT_641);
     stringBuffer.append(genModel.getNonNLS());
     } else {
-    stringBuffer.append(TEXT_646);
+    stringBuffer.append(TEXT_642);
     stringBuffer.append(genFeature.getName());
-    stringBuffer.append(TEXT_645);
+    stringBuffer.append(TEXT_641);
     stringBuffer.append(genModel.getNonNLS());
     }
     if (genFeature.isUnsettable() && !genFeature.isListType()) {
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_647);
+    stringBuffer.append(TEXT_643);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_648);
+    stringBuffer.append(TEXT_644);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
-    stringBuffer.append(TEXT_649);
+    stringBuffer.append(TEXT_645);
     stringBuffer.append(genModel.getNonNLS());
     } else {
     if (genClass.isFlag(genFeature)) {
@@ -5164,40 +5152,40 @@
     if (genClass.isESetFlag(genFeature)) {
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_650);
+    stringBuffer.append(TEXT_646);
     } else {
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_329);
+    stringBuffer.append(TEXT_326);
     }
-    stringBuffer.append(TEXT_651);
+    stringBuffer.append(TEXT_647);
     stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_652);
+    stringBuffer.append(TEXT_648);
     stringBuffer.append(genModel.getNonNLS());
     } else {
     stringBuffer.append(TEXT_136);
     if (genClass.isESetFlag(genFeature)) {
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
+    stringBuffer.append(TEXT_259);
+    stringBuffer.append(genFeature.getUpperName());
+    stringBuffer.append(TEXT_646);
+    } else {
+    stringBuffer.append(genFeature.getUncapName());
+    stringBuffer.append(TEXT_326);
+    }
+    stringBuffer.append(TEXT_649);
+    stringBuffer.append(genFeature.getUpperName());
+    stringBuffer.append(TEXT_261);
+    stringBuffer.append(genClass.getFlagsField(genFeature));
+    stringBuffer.append(TEXT_259);
+    stringBuffer.append(genFeature.getUpperName());
     stringBuffer.append(TEXT_262);
     stringBuffer.append(genFeature.getUpperName());
     stringBuffer.append(TEXT_650);
-    } else {
-    stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_329);
-    }
-    stringBuffer.append(TEXT_653);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_264);
-    stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_265);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_654);
     stringBuffer.append(genModel.getNonNLS());
     }
     } else {
@@ -5205,50 +5193,50 @@
     if (genClass.isESetFlag(genFeature)) {
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genClass.getESetFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_650);
+    stringBuffer.append(TEXT_646);
     } else {
     stringBuffer.append(genFeature.getUncapName());
-    stringBuffer.append(TEXT_329);
+    stringBuffer.append(TEXT_326);
     }
-    stringBuffer.append(TEXT_653);
+    stringBuffer.append(TEXT_649);
     stringBuffer.append(genFeature.getSafeName());
-    stringBuffer.append(TEXT_655);
+    stringBuffer.append(TEXT_651);
     stringBuffer.append(genModel.getNonNLS());
     }
     }
     } else {
     if (genModel.isVirtualDelegation() && !genFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_656);
+    stringBuffer.append(TEXT_652);
     stringBuffer.append(genClass.getQualifiedFeatureID(genFeature));
     stringBuffer.append(positiveOffsetCorrection);
     if (!genFeature.isListType() && !genFeature.isReferenceType()){
     stringBuffer.append(TEXT_149);
     stringBuffer.append(genFeature.getEDefault());
     }
-    stringBuffer.append(TEXT_259);
+    stringBuffer.append(TEXT_256);
     } else {
     if (genClass.isFlag(genFeature)) {
     if (genFeature.isBooleanType()) {
-    stringBuffer.append(TEXT_657);
+    stringBuffer.append(TEXT_653);
     stringBuffer.append(genClass.getFlagsField(genFeature));
-    stringBuffer.append(TEXT_262);
+    stringBuffer.append(TEXT_259);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_658);
+    stringBuffer.append(TEXT_654);
     } else {
-    stringBuffer.append(TEXT_659);
+    stringBuffer.append(TEXT_655);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_264);
+    stringBuffer.append(TEXT_261);
     stringBuffer.append(genClass.getFlagsField(genFeature));
+    stringBuffer.append(TEXT_259);
+    stringBuffer.append(genFeature.getUpperName());
     stringBuffer.append(TEXT_262);
     stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_265);
-    stringBuffer.append(genFeature.getUpperName());
-    stringBuffer.append(TEXT_660);
+    stringBuffer.append(TEXT_656);
     }
     } else {
-    stringBuffer.append(TEXT_659);
+    stringBuffer.append(TEXT_655);
     stringBuffer.append(genFeature.getSafeName());
     stringBuffer.append(TEXT_146);
     }
@@ -5256,7 +5244,7 @@
     }
     }
     }
-    stringBuffer.append(TEXT_661);
+    stringBuffer.append(TEXT_657);
     }
     if (isImplementation && genClass.isMapEntry()) { GenFeature keyFeature = genClass.getMapEntryKeyFeature(); GenFeature valueFeature = genClass.getMapEntryValueFeature();
     String objectType = genModel.getImportedName("java.lang.Object");
@@ -5268,57 +5256,71 @@
     stringBuffer.append(TEXT_43);
     stringBuffer.append(genModel.getImportedName("com.google.gwt.user.client.rpc.GwtTransient"));
     }
-    stringBuffer.append(TEXT_662);
+    stringBuffer.append(TEXT_658);
     if (useInterfaceOverrideAnnotation) {
     stringBuffer.append(TEXT_124);
     }
-    stringBuffer.append(TEXT_663);
+    stringBuffer.append(TEXT_659);
     stringBuffer.append(objectType);
+    stringBuffer.append(TEXT_660);
+    if (useInterfaceOverrideAnnotation) {
+    stringBuffer.append(TEXT_124);
+    }
+    stringBuffer.append(TEXT_661);
+    if (useInterfaceOverrideAnnotation) {
+    stringBuffer.append(TEXT_124);
+    }
+    stringBuffer.append(TEXT_131);
+    stringBuffer.append(keyType);
+    stringBuffer.append(TEXT_662);
+    if (!isJDK50 && keyFeature.isPrimitiveType()) {
+    stringBuffer.append(TEXT_269);
+    stringBuffer.append(keyFeature.getObjectType(genClass));
+    stringBuffer.append(TEXT_663);
+    } else {
     stringBuffer.append(TEXT_664);
+    }
+    stringBuffer.append(TEXT_123);
     if (useInterfaceOverrideAnnotation) {
     stringBuffer.append(TEXT_124);
     }
     stringBuffer.append(TEXT_665);
-    if (useInterfaceOverrideAnnotation) {
-    stringBuffer.append(TEXT_124);
-    }
-    stringBuffer.append(TEXT_131);
     stringBuffer.append(keyType);
     stringBuffer.append(TEXT_666);
-    if (!isJDK50 && keyFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_272);
-    stringBuffer.append(keyFeature.getObjectType(genClass));
-    stringBuffer.append(TEXT_667);
-    } else {
-    stringBuffer.append(TEXT_668);
-    }
-    stringBuffer.append(TEXT_123);
-    if (useInterfaceOverrideAnnotation) {
-    stringBuffer.append(TEXT_124);
-    }
-    stringBuffer.append(TEXT_669);
-    stringBuffer.append(keyType);
-    stringBuffer.append(TEXT_670);
     if (keyFeature.isListType()) {
-    stringBuffer.append(TEXT_671);
+    stringBuffer.append(TEXT_667);
     if (!genModel.useGenerics()) {
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genModel.getImportedName("java.util.Collection"));
     stringBuffer.append(TEXT_86);
     }
-    stringBuffer.append(TEXT_672);
+    stringBuffer.append(TEXT_668);
     } else if (isJDK50) {
-    stringBuffer.append(TEXT_673);
+    stringBuffer.append(TEXT_669);
     } else if (keyFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_674);
+    stringBuffer.append(TEXT_670);
     stringBuffer.append(keyFeature.getObjectType(genClass));
-    stringBuffer.append(TEXT_675);
+    stringBuffer.append(TEXT_671);
     stringBuffer.append(keyFeature.getPrimitiveValueFunction());
-    stringBuffer.append(TEXT_533);
+    stringBuffer.append(TEXT_529);
+    } else {
+    stringBuffer.append(TEXT_672);
+    stringBuffer.append(keyFeature.getImportedType(genClass));
+    stringBuffer.append(TEXT_673);
+    }
+    stringBuffer.append(TEXT_123);
+    if (useInterfaceOverrideAnnotation) {
+    stringBuffer.append(TEXT_124);
+    }
+    stringBuffer.append(TEXT_131);
+    stringBuffer.append(valueType);
+    stringBuffer.append(TEXT_674);
+    if (!isJDK50 && valueFeature.isPrimitiveType()) {
+    stringBuffer.append(TEXT_269);
+    stringBuffer.append(valueFeature.getObjectType(genClass));
+    stringBuffer.append(TEXT_675);
     } else {
     stringBuffer.append(TEXT_676);
-    stringBuffer.append(keyFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_677);
     }
     stringBuffer.append(TEXT_123);
     if (useInterfaceOverrideAnnotation) {
@@ -5326,59 +5328,45 @@
     }
     stringBuffer.append(TEXT_131);
     stringBuffer.append(valueType);
+    stringBuffer.append(TEXT_677);
+    stringBuffer.append(valueType);
     stringBuffer.append(TEXT_678);
-    if (!isJDK50 && valueFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_272);
-    stringBuffer.append(valueFeature.getObjectType(genClass));
+    stringBuffer.append(valueType);
     stringBuffer.append(TEXT_679);
-    } else {
-    stringBuffer.append(TEXT_680);
-    }
-    stringBuffer.append(TEXT_123);
-    if (useInterfaceOverrideAnnotation) {
-    stringBuffer.append(TEXT_124);
-    }
-    stringBuffer.append(TEXT_131);
-    stringBuffer.append(valueType);
-    stringBuffer.append(TEXT_681);
-    stringBuffer.append(valueType);
-    stringBuffer.append(TEXT_682);
-    stringBuffer.append(valueType);
-    stringBuffer.append(TEXT_683);
     if (valueFeature.isListType()) {
-    stringBuffer.append(TEXT_684);
+    stringBuffer.append(TEXT_680);
     if (!genModel.useGenerics()) {
     stringBuffer.append(TEXT_93);
     stringBuffer.append(genModel.getImportedName("java.util.Collection"));
     stringBuffer.append(TEXT_86);
     }
-    stringBuffer.append(TEXT_685);
+    stringBuffer.append(TEXT_681);
     } else if (isJDK50) {
-    stringBuffer.append(TEXT_686);
+    stringBuffer.append(TEXT_682);
     } else if (valueFeature.isPrimitiveType()) {
-    stringBuffer.append(TEXT_687);
+    stringBuffer.append(TEXT_683);
     stringBuffer.append(valueFeature.getObjectType(genClass));
-    stringBuffer.append(TEXT_688);
+    stringBuffer.append(TEXT_684);
     stringBuffer.append(valueFeature.getPrimitiveValueFunction());
-    stringBuffer.append(TEXT_533);
+    stringBuffer.append(TEXT_529);
     } else {
-    stringBuffer.append(TEXT_689);
+    stringBuffer.append(TEXT_685);
     stringBuffer.append(valueFeature.getImportedType(genClass));
-    stringBuffer.append(TEXT_690);
+    stringBuffer.append(TEXT_686);
     }
-    stringBuffer.append(TEXT_691);
+    stringBuffer.append(TEXT_687);
     if (genModel.useGenerics()) {
     stringBuffer.append(TEXT_73);
     }
     stringBuffer.append(TEXT_131);
     stringBuffer.append(eMapType);
-    stringBuffer.append(TEXT_692);
+    stringBuffer.append(TEXT_688);
     stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject"));
-    stringBuffer.append(TEXT_693);
+    stringBuffer.append(TEXT_689);
     stringBuffer.append(eMapType);
-    stringBuffer.append(TEXT_694);
+    stringBuffer.append(TEXT_690);
     }
-    stringBuffer.append(TEXT_695);
+    stringBuffer.append(TEXT_691);
     stringBuffer.append(isInterface ? " " + genClass.getInterfaceName() : genClass.getClassName());
     // TODO fix the space above
     genModel.emitSortedImports();
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/EnumClass.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/EnumClass.java
index b1d8c22..7f80c5f 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/EnumClass.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/EnumClass.java
@@ -58,66 +58,63 @@
   protected final String TEXT_40 = NL;
   protected final String TEXT_41 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final ";
   protected final String TEXT_42 = " copyright = ";
-  protected final String TEXT_43 = "</b></em>' literal value." + NL + "\t * <!-- begin-user-doc -->";
-  protected final String TEXT_44 = NL + "\t * <p>" + NL + "\t * If the meaning of '<em><b>";
-  protected final String TEXT_45 = "</b></em>' literal object isn't clear," + NL + "\t * there really should be more of a description here..." + NL + "\t * </p>";
-  protected final String TEXT_46 = NL + "\t * <!-- end-user-doc -->";
-  protected final String TEXT_47 = NL + "\t * @model ";
-  protected final String TEXT_48 = NL + "\t *        ";
-  protected final String TEXT_49 = NL + "\t * @model";
-  protected final String TEXT_50 = NL + "\tpublic static final int ";
-  protected final String TEXT_51 = " = ";
-  protected final String TEXT_52 = "</b></em>' literal object." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
-  protected final String TEXT_53 = NL + "\t * ";
-  protected final String TEXT_54 = NL + "\tpublic static final ";
-  protected final String TEXT_55 = " = new ";
-  protected final String TEXT_56 = ");";
-  protected final String TEXT_57 = NL + "\t/**" + NL + "\t * An array of all the '<em><b>";
-  protected final String TEXT_58 = "</b></em>' enumerators." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final ";
-  protected final String TEXT_59 = "[] VALUES_ARRAY =" + NL + "\t\tnew ";
-  protected final String TEXT_60 = "[]" + NL + "\t\t{";
-  protected final String TEXT_61 = NL + "\t\t\t";
-  protected final String TEXT_62 = NL + "\t\t};" + NL + "" + NL + "\t/**" + NL + "\t * A public read-only list of all the '<em><b>";
-  protected final String TEXT_63 = "</b></em>' enumerators." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final List";
-  protected final String TEXT_64 = "<";
-  protected final String TEXT_65 = ">";
-  protected final String TEXT_66 = " VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
-  protected final String TEXT_67 = "</b></em>' literal with the specified literal value." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param literal the literal." + NL + "\t * @return the matching enumerator or <code>null</code>." + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
-  protected final String TEXT_68 = " get(";
-  protected final String TEXT_69 = " literal)" + NL + "\t{" + NL + "\t\tfor (int i = 0; i < VALUES_ARRAY.length; ++i)" + NL + "\t\t{" + NL + "\t\t\t";
-  protected final String TEXT_70 = " result = VALUES_ARRAY[i];" + NL + "\t\t\tif (result.toString().equals(literal))" + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn null;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
-  protected final String TEXT_71 = "</b></em>' literal with the specified name." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param name the name." + NL + "\t * @return the matching enumerator or <code>null</code>." + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
-  protected final String TEXT_72 = " getByName(";
-  protected final String TEXT_73 = " name)" + NL + "\t{" + NL + "\t\tfor (int i = 0; i < VALUES_ARRAY.length; ++i)" + NL + "\t\t{" + NL + "\t\t\t";
-  protected final String TEXT_74 = " result = VALUES_ARRAY[i];" + NL + "\t\t\tif (result.getName().equals(name))" + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn null;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
-  protected final String TEXT_75 = "</b></em>' literal with the specified integer value." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param value the integer value." + NL + "\t * @return the matching enumerator or <code>null</code>." + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
-  protected final String TEXT_76 = " get(int value)" + NL + "\t{" + NL + "\t\tswitch (value)" + NL + "\t\t{";
-  protected final String TEXT_77 = NL + "\t\t\tcase ";
-  protected final String TEXT_78 = ": return ";
-  protected final String TEXT_79 = NL + "\t\t}" + NL + "\t\treturn null;" + NL + "\t}" + NL;
-  protected final String TEXT_80 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final int value;" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final ";
-  protected final String TEXT_81 = " name;" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final ";
-  protected final String TEXT_82 = " literal;" + NL;
-  protected final String TEXT_83 = NL + "\t/**" + NL + "\t * Only this class can construct instances." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate ";
-  protected final String TEXT_84 = "(int value, ";
-  protected final String TEXT_85 = " name, ";
-  protected final String TEXT_86 = " literal)" + NL + "\t{";
-  protected final String TEXT_87 = NL + "\t\tthis.value = value;" + NL + "\t\tthis.name = name;" + NL + "\t\tthis.literal = literal;";
-  protected final String TEXT_88 = NL + "\t\tsuper(value, name, literal);";
-  protected final String TEXT_89 = NL + "\t}" + NL;
-  protected final String TEXT_90 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_91 = NL + "\t@Override";
-  protected final String TEXT_92 = NL + "\tpublic int getValue()" + NL + "\t{" + NL + "\t  return value;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_93 = NL + "\tpublic ";
-  protected final String TEXT_94 = " getName()" + NL + "\t{" + NL + "\t  return name;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_95 = " getLiteral()" + NL + "\t{" + NL + "\t  return literal;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the literal value of the enumerator, which is its string representation." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
-  protected final String TEXT_96 = " toString()" + NL + "\t{" + NL + "\t\treturn literal;" + NL + "\t}" + NL + "\t";
-  protected final String TEXT_97 = NL + "} //";
-  protected final String TEXT_98 = NL + "/**" + NL + " * A private implementation interface used to hide the inheritance from Enumerator." + NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "interface Internal";
-  protected final String TEXT_99 = " extends org.eclipse.emf.common.util.Enumerator" + NL + "{" + NL + "\t// Empty " + NL + "}";
-  protected final String TEXT_100 = NL + "/**" + NL + " * A private implementation class to construct the instances." + NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "class Internal";
-  protected final String TEXT_101 = " extends org.eclipse.emf.common.util.AbstractEnumerator" + NL + "{" + NL + "\t/**" + NL + "\t * Only this class can construct instances." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected Internal";
-  protected final String TEXT_102 = " literal)" + NL + "\t{" + NL + "\t\tsuper(value, name, literal);" + NL + "\t}" + NL + "}";
+  protected final String TEXT_43 = "</b></em>' literal value." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->";
+  protected final String TEXT_44 = NL + "\t * @model ";
+  protected final String TEXT_45 = NL + "\t *        ";
+  protected final String TEXT_46 = NL + "\t * @model";
+  protected final String TEXT_47 = NL + "\tpublic static final int ";
+  protected final String TEXT_48 = " = ";
+  protected final String TEXT_49 = "</b></em>' literal object." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @see #";
+  protected final String TEXT_50 = NL + "\t * ";
+  protected final String TEXT_51 = NL + "\tpublic static final ";
+  protected final String TEXT_52 = " = new ";
+  protected final String TEXT_53 = ");";
+  protected final String TEXT_54 = NL + "\t/**" + NL + "\t * An array of all the '<em><b>";
+  protected final String TEXT_55 = "</b></em>' enumerators." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate static final ";
+  protected final String TEXT_56 = "[] VALUES_ARRAY =" + NL + "\t\tnew ";
+  protected final String TEXT_57 = "[]" + NL + "\t\t{";
+  protected final String TEXT_58 = NL + "\t\t\t";
+  protected final String TEXT_59 = NL + "\t\t};" + NL + "" + NL + "\t/**" + NL + "\t * A public read-only list of all the '<em><b>";
+  protected final String TEXT_60 = "</b></em>' enumerators." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final List";
+  protected final String TEXT_61 = "<";
+  protected final String TEXT_62 = ">";
+  protected final String TEXT_63 = " VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
+  protected final String TEXT_64 = "</b></em>' literal with the specified literal value." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param literal the literal." + NL + "\t * @return the matching enumerator or <code>null</code>." + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+  protected final String TEXT_65 = " get(";
+  protected final String TEXT_66 = " literal)" + NL + "\t{" + NL + "\t\tfor (int i = 0; i < VALUES_ARRAY.length; ++i)" + NL + "\t\t{" + NL + "\t\t\t";
+  protected final String TEXT_67 = " result = VALUES_ARRAY[i];" + NL + "\t\t\tif (result.toString().equals(literal))" + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn null;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
+  protected final String TEXT_68 = "</b></em>' literal with the specified name." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param name the name." + NL + "\t * @return the matching enumerator or <code>null</code>." + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+  protected final String TEXT_69 = " getByName(";
+  protected final String TEXT_70 = " name)" + NL + "\t{" + NL + "\t\tfor (int i = 0; i < VALUES_ARRAY.length; ++i)" + NL + "\t\t{" + NL + "\t\t\t";
+  protected final String TEXT_71 = " result = VALUES_ARRAY[i];" + NL + "\t\t\tif (result.getName().equals(name))" + NL + "\t\t\t{" + NL + "\t\t\t\treturn result;" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\treturn null;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the '<em><b>";
+  protected final String TEXT_72 = "</b></em>' literal with the specified integer value." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @param value the integer value." + NL + "\t * @return the matching enumerator or <code>null</code>." + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static ";
+  protected final String TEXT_73 = " get(int value)" + NL + "\t{" + NL + "\t\tswitch (value)" + NL + "\t\t{";
+  protected final String TEXT_74 = NL + "\t\t\tcase ";
+  protected final String TEXT_75 = ": return ";
+  protected final String TEXT_76 = NL + "\t\t}" + NL + "\t\treturn null;" + NL + "\t}" + NL;
+  protected final String TEXT_77 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final int value;" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final ";
+  protected final String TEXT_78 = " name;" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate final ";
+  protected final String TEXT_79 = " literal;" + NL;
+  protected final String TEXT_80 = NL + "\t/**" + NL + "\t * Only this class can construct instances." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate ";
+  protected final String TEXT_81 = "(int value, ";
+  protected final String TEXT_82 = " name, ";
+  protected final String TEXT_83 = " literal)" + NL + "\t{";
+  protected final String TEXT_84 = NL + "\t\tthis.value = value;" + NL + "\t\tthis.name = name;" + NL + "\t\tthis.literal = literal;";
+  protected final String TEXT_85 = NL + "\t\tsuper(value, name, literal);";
+  protected final String TEXT_86 = NL + "\t}" + NL;
+  protected final String TEXT_87 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_88 = NL + "\t@Override";
+  protected final String TEXT_89 = NL + "\tpublic int getValue()" + NL + "\t{" + NL + "\t  return value;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_90 = NL + "\tpublic ";
+  protected final String TEXT_91 = " getName()" + NL + "\t{" + NL + "\t  return name;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_92 = " getLiteral()" + NL + "\t{" + NL + "\t  return literal;" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * Returns the literal value of the enumerator, which is its string representation." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */";
+  protected final String TEXT_93 = " toString()" + NL + "\t{" + NL + "\t\treturn literal;" + NL + "\t}" + NL + "\t";
+  protected final String TEXT_94 = NL + "} //";
+  protected final String TEXT_95 = NL + "/**" + NL + " * A private implementation interface used to hide the inheritance from Enumerator." + NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "interface Internal";
+  protected final String TEXT_96 = " extends org.eclipse.emf.common.util.Enumerator" + NL + "{" + NL + "\t// Empty " + NL + "}";
+  protected final String TEXT_97 = NL + "/**" + NL + " * A private implementation class to construct the instances." + NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "class Internal";
+  protected final String TEXT_98 = " extends org.eclipse.emf.common.util.AbstractEnumerator" + NL + "{" + NL + "\t/**" + NL + "\t * Only this class can construct instances." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected Internal";
+  protected final String TEXT_99 = " literal)" + NL + "\t{" + NL + "\t\tsuper(value, name, literal);" + NL + "\t}" + NL + "}";
 
   public String generate(Object argument)
   {
@@ -250,12 +247,6 @@
     stringBuffer.append(TEXT_26);
     stringBuffer.append(genEnumLiteral.getFormattedName());
     stringBuffer.append(TEXT_43);
-    if (!genEnumLiteral.hasDocumentation()) {
-    stringBuffer.append(TEXT_44);
-    stringBuffer.append(genEnumLiteral.getFormattedName());
-    stringBuffer.append(TEXT_45);
-    }
-    stringBuffer.append(TEXT_46);
     if (genEnumLiteral.hasDocumentation()) {
     stringBuffer.append(TEXT_28);
     stringBuffer.append(genEnumLiteral.getDocumentation(genModel.getIndentation(stringBuffer)));
@@ -264,42 +255,42 @@
     stringBuffer.append(TEXT_30);
     stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
     if (!genModel.isSuppressEMFModelTags()) { boolean first = true; for (StringTokenizer stringTokenizer = new StringTokenizer(genEnumLiteral.getModelInfo(), "\n\r"); stringTokenizer.hasMoreTokens(); ) { String modelInfo = stringTokenizer.nextToken(); if (first) { first = false;
-    stringBuffer.append(TEXT_47);
+    stringBuffer.append(TEXT_44);
     stringBuffer.append(modelInfo);
     } else {
-    stringBuffer.append(TEXT_48);
+    stringBuffer.append(TEXT_45);
     stringBuffer.append(modelInfo);
     }} if (first) {
-    stringBuffer.append(TEXT_49);
+    stringBuffer.append(TEXT_46);
     }}
     stringBuffer.append(TEXT_31);
     if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {
     stringBuffer.append(TEXT_32);
     }
-    stringBuffer.append(TEXT_50);
+    stringBuffer.append(TEXT_47);
     stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
-    stringBuffer.append(TEXT_51);
+    stringBuffer.append(TEXT_48);
     stringBuffer.append(genEnumLiteral.getValue());
     stringBuffer.append(TEXT_5);
     }
     if (!isEnum) for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
     stringBuffer.append(TEXT_26);
     stringBuffer.append(genEnumLiteral.getFormattedName());
-    stringBuffer.append(TEXT_52);
+    stringBuffer.append(TEXT_49);
     stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
     if (genEnumLiteral.hasAPITags()) {
-    stringBuffer.append(TEXT_53);
+    stringBuffer.append(TEXT_50);
     stringBuffer.append(genEnumLiteral.getAPITags(genModel.getIndentation(stringBuffer)));
     }
     stringBuffer.append(TEXT_31);
     if (isJDK50 && genEnumLiteral.hasAPIDeprecatedTag()) {
     stringBuffer.append(TEXT_32);
     }
-    stringBuffer.append(TEXT_54);
+    stringBuffer.append(TEXT_51);
     stringBuffer.append(genEnum.getName());
     stringBuffer.append(TEXT_21);
     stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
-    stringBuffer.append(TEXT_55);
+    stringBuffer.append(TEXT_52);
     stringBuffer.append(genEnum.getName());
     stringBuffer.append(TEXT_34);
     stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
@@ -307,123 +298,123 @@
     stringBuffer.append(genEnumLiteral.getName());
     stringBuffer.append(TEXT_36);
     stringBuffer.append(Literals.toStringLiteral(genEnumLiteral.getLiteral(), genModel));
-    stringBuffer.append(TEXT_56);
+    stringBuffer.append(TEXT_53);
     stringBuffer.append(genModel.getNonNLS());
     stringBuffer.append(genModel.getNonNLS(2));
     stringBuffer.append(TEXT_40);
     }
-    stringBuffer.append(TEXT_57);
+    stringBuffer.append(TEXT_54);
     stringBuffer.append(genEnum.getFormattedName());
-    stringBuffer.append(TEXT_58);
+    stringBuffer.append(TEXT_55);
     stringBuffer.append(genEnum.getName());
-    stringBuffer.append(TEXT_59);
+    stringBuffer.append(TEXT_56);
     stringBuffer.append(genEnum.getName());
-    stringBuffer.append(TEXT_60);
+    stringBuffer.append(TEXT_57);
     for (GenEnumLiteral genEnumLiteral : genEnum.getGenEnumLiterals()) {
-    stringBuffer.append(TEXT_61);
+    stringBuffer.append(TEXT_58);
     stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
     stringBuffer.append(TEXT_38);
     }
-    stringBuffer.append(TEXT_62);
+    stringBuffer.append(TEXT_59);
     stringBuffer.append(genEnum.getFormattedName());
-    stringBuffer.append(TEXT_63);
+    stringBuffer.append(TEXT_60);
     if (isEnum) {
+    stringBuffer.append(TEXT_61);
+    stringBuffer.append(genEnum.getName());
+    stringBuffer.append(TEXT_62);
+    }
+    stringBuffer.append(TEXT_63);
+    stringBuffer.append(genEnum.getFormattedName());
     stringBuffer.append(TEXT_64);
     stringBuffer.append(genEnum.getName());
     stringBuffer.append(TEXT_65);
-    }
+    stringBuffer.append(genModel.getImportedName("java.lang.String"));
     stringBuffer.append(TEXT_66);
-    stringBuffer.append(genEnum.getFormattedName());
+    stringBuffer.append(genEnum.getName());
     stringBuffer.append(TEXT_67);
-    stringBuffer.append(genEnum.getName());
+    stringBuffer.append(genEnum.getFormattedName());
     stringBuffer.append(TEXT_68);
-    stringBuffer.append(genModel.getImportedName("java.lang.String"));
+    stringBuffer.append(genEnum.getName());
     stringBuffer.append(TEXT_69);
-    stringBuffer.append(genEnum.getName());
-    stringBuffer.append(TEXT_70);
-    stringBuffer.append(genEnum.getFormattedName());
-    stringBuffer.append(TEXT_71);
-    stringBuffer.append(genEnum.getName());
-    stringBuffer.append(TEXT_72);
     stringBuffer.append(genModel.getImportedName("java.lang.String"));
-    stringBuffer.append(TEXT_73);
+    stringBuffer.append(TEXT_70);
     stringBuffer.append(genEnum.getName());
-    stringBuffer.append(TEXT_74);
+    stringBuffer.append(TEXT_71);
     stringBuffer.append(genEnum.getFormattedName());
-    stringBuffer.append(TEXT_75);
+    stringBuffer.append(TEXT_72);
     stringBuffer.append(genEnum.getName());
-    stringBuffer.append(TEXT_76);
+    stringBuffer.append(TEXT_73);
     for (GenEnumLiteral genEnumLiteral : genEnum.getUniqueValuedGenEnumLiterals()) {
-    stringBuffer.append(TEXT_77);
+    stringBuffer.append(TEXT_74);
     stringBuffer.append(genEnumLiteral.getEnumLiteralValueConstantName());
-    stringBuffer.append(TEXT_78);
+    stringBuffer.append(TEXT_75);
     stringBuffer.append(genEnumLiteral.getEnumLiteralInstanceConstantName());
     stringBuffer.append(TEXT_39);
     }
-    stringBuffer.append(TEXT_79);
+    stringBuffer.append(TEXT_76);
     if (isEnum) {
-    stringBuffer.append(TEXT_80);
+    stringBuffer.append(TEXT_77);
     stringBuffer.append(genModel.getImportedName("java.lang.String"));
+    stringBuffer.append(TEXT_78);
+    stringBuffer.append(genModel.getImportedName("java.lang.String"));
+    stringBuffer.append(TEXT_79);
+    }
+    stringBuffer.append(TEXT_80);
+    stringBuffer.append(genEnum.getName());
     stringBuffer.append(TEXT_81);
     stringBuffer.append(genModel.getImportedName("java.lang.String"));
     stringBuffer.append(TEXT_82);
-    }
+    stringBuffer.append(genModel.getImportedName("java.lang.String"));
     stringBuffer.append(TEXT_83);
-    stringBuffer.append(genEnum.getName());
+    if (isEnum) {
     stringBuffer.append(TEXT_84);
-    stringBuffer.append(genModel.getImportedName("java.lang.String"));
+    } else {
     stringBuffer.append(TEXT_85);
-    stringBuffer.append(genModel.getImportedName("java.lang.String"));
+    }
     stringBuffer.append(TEXT_86);
     if (isEnum) {
     stringBuffer.append(TEXT_87);
-    } else {
+    if (genModel.useInterfaceOverrideAnnotation()) {
     stringBuffer.append(TEXT_88);
     }
     stringBuffer.append(TEXT_89);
-    if (isEnum) {
+    if (genModel.useInterfaceOverrideAnnotation()) {
+    stringBuffer.append(TEXT_88);
+    }
     stringBuffer.append(TEXT_90);
-    if (genModel.useInterfaceOverrideAnnotation()) {
+    stringBuffer.append(genModel.getImportedName("java.lang.String"));
     stringBuffer.append(TEXT_91);
+    if (genModel.useInterfaceOverrideAnnotation()) {
+    stringBuffer.append(TEXT_88);
     }
+    stringBuffer.append(TEXT_90);
+    stringBuffer.append(genModel.getImportedName("java.lang.String"));
     stringBuffer.append(TEXT_92);
-    if (genModel.useInterfaceOverrideAnnotation()) {
-    stringBuffer.append(TEXT_91);
-    }
-    stringBuffer.append(TEXT_93);
-    stringBuffer.append(genModel.getImportedName("java.lang.String"));
-    stringBuffer.append(TEXT_94);
-    if (genModel.useInterfaceOverrideAnnotation()) {
-    stringBuffer.append(TEXT_91);
-    }
-    stringBuffer.append(TEXT_93);
-    stringBuffer.append(genModel.getImportedName("java.lang.String"));
-    stringBuffer.append(TEXT_95);
     if (genModel.useClassOverrideAnnotation()) {
-    stringBuffer.append(TEXT_91);
+    stringBuffer.append(TEXT_88);
     }
-    stringBuffer.append(TEXT_93);
+    stringBuffer.append(TEXT_90);
     stringBuffer.append(genModel.getImportedName("java.lang.String"));
-    stringBuffer.append(TEXT_96);
+    stringBuffer.append(TEXT_93);
     }
-    stringBuffer.append(TEXT_97);
+    stringBuffer.append(TEXT_94);
     stringBuffer.append(genEnum.getName());
     if (genModel.isSuppressEMFMetaData()&& !genModel.isSuppressInterfaces() ) {
     stringBuffer.append(TEXT_40);
     if (isEnum) {
+    stringBuffer.append(TEXT_95);
+    stringBuffer.append(genEnum.getName());
+    stringBuffer.append(TEXT_96);
+    } else {
+    stringBuffer.append(TEXT_97);
+    stringBuffer.append(genEnum.getName());
     stringBuffer.append(TEXT_98);
     stringBuffer.append(genEnum.getName());
+    stringBuffer.append(TEXT_81);
+    stringBuffer.append(genModel.getImportedName("java.lang.String"));
+    stringBuffer.append(TEXT_82);
+    stringBuffer.append(genModel.getImportedName("java.lang.String"));
     stringBuffer.append(TEXT_99);
-    } else {
-    stringBuffer.append(TEXT_100);
-    stringBuffer.append(genEnum.getName());
-    stringBuffer.append(TEXT_101);
-    stringBuffer.append(genEnum.getName());
-    stringBuffer.append(TEXT_84);
-    stringBuffer.append(genModel.getImportedName("java.lang.String"));
-    stringBuffer.append(TEXT_85);
-    stringBuffer.append(genModel.getImportedName("java.lang.String"));
-    stringBuffer.append(TEXT_102);
     }
     }
     genModel.emitSortedImports();
diff --git a/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet b/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
index 4cd33d8..4de6472 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
+++ b/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
@@ -855,12 +855,6 @@
     <%}%>
 <%@ include file="Class/getGenFeature.javadoc.insert.javajetinc" fail="silent" %>
 	 * <!-- begin-user-doc -->
-    <%if (!genFeature.hasDocumentation()) {%>
-	 * <p>
-	 * If the meaning of the '<em><%=genFeature.getFormattedName()%></em>' <%=genFeature.getFeatureKind()%> isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-    <%}%>
 	 * <!-- end-user-doc -->
     <%if (genFeature.hasDocumentation()) {%>
 	 * <!-- begin-model-doc -->
diff --git a/plugins/org.eclipse.emf.codegen.ecore/templates/model/EnumClass.javajet b/plugins/org.eclipse.emf.codegen.ecore/templates/model/EnumClass.javajet
index b0ffb04..a064f69 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/templates/model/EnumClass.javajet
+++ b/plugins/org.eclipse.emf.codegen.ecore/templates/model/EnumClass.javajet
@@ -90,12 +90,6 @@
 	/**
 	 * The '<em><b><%=genEnumLiteral.getFormattedName()%></b></em>' literal value.
 	 * <!-- begin-user-doc -->
-<%if (!genEnumLiteral.hasDocumentation()) {%>
-	 * <p>
-	 * If the meaning of '<em><b><%=genEnumLiteral.getFormattedName()%></b></em>' literal object isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-<%}%>
 	 * <!-- end-user-doc -->
 <%if (genEnumLiteral.hasDocumentation()) {%>
 	 * <!-- begin-model-doc -->