[204200] Regenerating with support for enum flags as per EMF bug 226815.
diff --git a/plugins/org.eclipse.uml2.uml/model/UML.genmodel b/plugins/org.eclipse.uml2.uml/model/UML.genmodel
index 10c2dbe..c4bd62f 100644
--- a/plugins/org.eclipse.uml2.uml/model/UML.genmodel
+++ b/plugins/org.eclipse.uml2.uml/model/UML.genmodel
@@ -8,7 +8,8 @@
     editorPluginClass="org.eclipse.uml2.uml.editor.UMLEditorPlugin" nonNLSMarkers="true"
     rootExtendsInterface="" codeFormatting="true" booleanFlagsField="eFlags" booleanFlagsReservedBits="8"
     importerID="org.eclipse.uml2.uml.ecore.importer" containmentProxies="true" minimalReflectiveMethods="false"
-    complianceLevel="5.0" colorProviders="true" fontProviders="true" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore"
+    complianceLevel="5.0" colorProviders="true" fontProviders="true" packedEnums="true"
+    usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore"
     factoryMethods="true" pluralizedGetters="true" cacheAdapterSupport="true" invariantPrefix="validate">
   <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
     <details key="DUPLICATE_FEATURES" value="PROCESS"/>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptEventActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptEventActionImpl.java
index b6683e9..23ed8bc 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptEventActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptEventActionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: AcceptEventActionImpl.java,v 1.27 2007/04/25 17:47:03 khussey Exp $
+ * $Id: AcceptEventActionImpl.java,v 1.28 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -94,7 +95,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_UNMARSHALL_EFLAG = 1 << 11;
+	protected static final int IS_UNMARSHALL_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getResults() <em>Result</em>}' containment reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionInputPinImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionInputPinImpl.java
index a62a545..605bddc 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionInputPinImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionInputPinImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ActionInputPinImpl.java,v 1.29 2007/04/25 17:47:01 khussey Exp $
+ * $Id: ActionInputPinImpl.java,v 1.30 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -693,7 +694,7 @@
 			case UMLPackage.ACTION_INPUT_PIN__TYPE :
 				return type != null;
 			case UMLPackage.ACTION_INPUT_PIN__ORDERING :
-				return ordering != ORDERING_EDEFAULT;
+				return (eFlags & ORDERING_EFLAG) != ORDERING_EFLAG_DEFAULT;
 			case UMLPackage.ACTION_INPUT_PIN__IS_CONTROL_TYPE :
 				return ((eFlags & IS_CONTROL_TYPE_EFLAG) != 0) != IS_CONTROL_TYPE_EDEFAULT;
 			case UMLPackage.ACTION_INPUT_PIN__UPPER_BOUND :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityImpl.java
index 3c5d2ed..9d00057 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ActivityImpl.java,v 1.34 2007/04/25 17:47:02 khussey Exp $
+ * $Id: ActivityImpl.java,v 1.35 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -154,7 +155,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_READ_ONLY_EFLAG = 1 << 14;
+	protected static final int IS_READ_ONLY_EFLAG = 1 << 16;
 
 	/**
 	 * The cached value of the '{@link #getEdges() <em>Edge</em>}' containment reference list.
@@ -194,7 +195,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_SINGLE_EXECUTION_EFLAG = 1 << 15;
+	protected static final int IS_SINGLE_EXECUTION_EFLAG = 1 << 17;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityParameterNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityParameterNodeImpl.java
index 50f0108..a727ff6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityParameterNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityParameterNodeImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ActivityParameterNodeImpl.java,v 1.18 2007/04/25 17:47:00 khussey Exp $
+ * $Id: ActivityParameterNodeImpl.java,v 1.19 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -505,7 +506,7 @@
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__TYPE :
 				return type != null;
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__ORDERING :
-				return ordering != ORDERING_EDEFAULT;
+				return (eFlags & ORDERING_EFLAG) != ORDERING_EFLAG_DEFAULT;
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__IS_CONTROL_TYPE :
 				return ((eFlags & IS_CONTROL_TYPE_EFLAG) != 0) != IS_CONTROL_TYPE_EDEFAULT;
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__UPPER_BOUND :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityPartitionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityPartitionImpl.java
index 45caa9a..e9ca014 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityPartitionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityPartitionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ActivityPartitionImpl.java,v 1.27 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ActivityPartitionImpl.java,v 1.28 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -101,7 +102,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_DIMENSION_EFLAG = 1 << 10;
+	protected static final int IS_DIMENSION_EFLAG = 1 << 12;
 
 	/**
 	 * The default value of the '{@link #isExternal() <em>Is External</em>}' attribute.
@@ -121,7 +122,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_EXTERNAL_EFLAG = 1 << 11;
+	protected static final int IS_EXTERNAL_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getNodes() <em>Node</em>}' reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddStructuralFeatureValueActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddStructuralFeatureValueActionImpl.java
index 7a218c6..71bae37 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddStructuralFeatureValueActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddStructuralFeatureValueActionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: AddStructuralFeatureValueActionImpl.java,v 1.26 2007/04/25 17:47:00 khussey Exp $
+ * $Id: AddStructuralFeatureValueActionImpl.java,v 1.27 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -92,7 +93,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_REPLACE_ALL_EFLAG = 1 << 11;
+	protected static final int IS_REPLACE_ALL_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getInsertAt() <em>Insert At</em>}' containment reference.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddVariableValueActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddVariableValueActionImpl.java
index 12b9a0e..e37ad9b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddVariableValueActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddVariableValueActionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: AddVariableValueActionImpl.java,v 1.26 2007/04/25 17:47:02 khussey Exp $
+ * $Id: AddVariableValueActionImpl.java,v 1.27 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -92,7 +93,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_REPLACE_ALL_EFLAG = 1 << 11;
+	protected static final int IS_REPLACE_ALL_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getInsertAt() <em>Insert At</em>}' containment reference.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ArtifactImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ArtifactImpl.java
index c6044ab..418b547 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ArtifactImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ArtifactImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ArtifactImpl.java,v 1.30 2007/04/25 17:47:01 khussey Exp $
+ * $Id: ArtifactImpl.java,v 1.31 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -117,7 +118,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int FILE_NAME_ESETFLAG = 1 << 12;
+	protected static final int FILE_NAME_ESETFLAG = 1 << 14;
 
 	/**
 	 * The cached value of the '{@link #getNestedArtifacts() <em>Nested Artifact</em>}' containment reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationClassImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationClassImpl.java
index 6443f89..e2f942b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationClassImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationClassImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: AssociationClassImpl.java,v 1.31 2007/04/25 17:47:03 khussey Exp $
+ * $Id: AssociationClassImpl.java,v 1.32 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -137,7 +138,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_DERIVED_EFLAG = 1 << 13;
+	protected static final int IS_DERIVED_EFLAG = 1 << 15;
 
 	/**
 	 * The cached value of the '{@link #getNavigableOwnedEnds() <em>Navigable Owned End</em>}' reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationImpl.java
index d31cbfb..6489b01 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: AssociationImpl.java,v 1.31 2007/04/25 17:47:02 khussey Exp $
+ * $Id: AssociationImpl.java,v 1.32 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -128,7 +129,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_DERIVED_EFLAG = 1 << 12;
+	protected static final int IS_DERIVED_EFLAG = 1 << 14;
 
 	/**
 	 * The cached value of the '{@link #getNavigableOwnedEnds() <em>Navigable Owned End</em>}' reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehaviorImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehaviorImpl.java
index ef05229..9cdf8e5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehaviorImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehaviorImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: BehaviorImpl.java,v 1.33 2007/04/25 17:47:02 khussey Exp $
+ * $Id: BehaviorImpl.java,v 1.34 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -120,7 +121,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_REENTRANT_EFLAG = 1 << 13;
+	protected static final int IS_REENTRANT_EFLAG = 1 << 15;
 
 	/**
 	 * The cached value of the '{@link #getRedefinedBehaviors() <em>Redefined Behavior</em>}' reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioralFeatureImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioralFeatureImpl.java
index 7608985..eca29db 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioralFeatureImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioralFeatureImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: BehavioralFeatureImpl.java,v 1.24 2007/04/25 17:47:01 khussey Exp $
+ * $Id: BehavioralFeatureImpl.java,v 1.25 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -107,7 +108,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_LEAF_EFLAG = 1 << 10;
+	protected static final int IS_LEAF_EFLAG = 1 << 12;
 
 	/**
 	 * The default value of the '{@link #isStatic() <em>Is Static</em>}' attribute.
@@ -127,7 +128,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_STATIC_EFLAG = 1 << 11;
+	protected static final int IS_STATIC_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getOwnedParameters() <em>Owned Parameter</em>}' containment reference list.
@@ -157,7 +158,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_ABSTRACT_EFLAG = 1 << 12;
+	protected static final int IS_ABSTRACT_EFLAG = 1 << 14;
 
 	/**
 	 * The cached value of the '{@link #getMethods() <em>Method</em>}' reference list.
@@ -180,14 +181,43 @@
 	protected static final CallConcurrencyKind CONCURRENCY_EDEFAULT = CallConcurrencyKind.SEQUENTIAL_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getConcurrency() <em>Concurrency</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getConcurrency() <em>Concurrency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int CONCURRENCY_EFLAG_OFFSET = 15;
+
+	/**
+	 * The flags representing the default value of the '{@link #getConcurrency() <em>Concurrency</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int CONCURRENCY_EFLAG_DEFAULT = CONCURRENCY_EDEFAULT
+		.ordinal() << CONCURRENCY_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link CallConcurrencyKind Call Concurrency Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final CallConcurrencyKind[] CONCURRENCY_EFLAG_VALUES = CallConcurrencyKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getConcurrency() <em>Concurrency</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getConcurrency()
 	 * @generated
 	 * @ordered
 	 */
-	protected CallConcurrencyKind concurrency = CONCURRENCY_EDEFAULT;
+	protected static final int CONCURRENCY_EFLAG = 0x3 << CONCURRENCY_EFLAG_OFFSET;
 
 	/**
 	 * The cached value of the '{@link #getRaisedExceptions() <em>Raised Exception</em>}' reference list.
@@ -699,7 +729,7 @@
 	 * @generated
 	 */
 	public CallConcurrencyKind getConcurrency() {
-		return concurrency;
+		return CONCURRENCY_EFLAG_VALUES[(eFlags & CONCURRENCY_EFLAG) >>> CONCURRENCY_EFLAG_OFFSET];
 	}
 
 	/**
@@ -708,14 +738,15 @@
 	 * @generated
 	 */
 	public void setConcurrency(CallConcurrencyKind newConcurrency) {
-		CallConcurrencyKind oldConcurrency = concurrency;
-		concurrency = newConcurrency == null
-			? CONCURRENCY_EDEFAULT
-			: newConcurrency;
+		CallConcurrencyKind oldConcurrency = CONCURRENCY_EFLAG_VALUES[(eFlags & CONCURRENCY_EFLAG) >>> CONCURRENCY_EFLAG_OFFSET];
+		if (newConcurrency == null)
+			newConcurrency = CONCURRENCY_EDEFAULT;
+		eFlags = eFlags & ~CONCURRENCY_EFLAG
+			| newConcurrency.ordinal() << CONCURRENCY_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
 				UMLPackage.BEHAVIORAL_FEATURE__CONCURRENCY, oldConcurrency,
-				concurrency));
+				newConcurrency));
 	}
 
 	/**
@@ -1232,7 +1263,7 @@
 			case UMLPackage.BEHAVIORAL_FEATURE__METHOD :
 				return methods != null && !methods.isEmpty();
 			case UMLPackage.BEHAVIORAL_FEATURE__CONCURRENCY :
-				return concurrency != CONCURRENCY_EDEFAULT;
+				return (eFlags & CONCURRENCY_EFLAG) != CONCURRENCY_EFLAG_DEFAULT;
 			case UMLPackage.BEHAVIORAL_FEATURE__RAISED_EXCEPTION :
 				return raisedExceptions != null && !raisedExceptions.isEmpty();
 			case UMLPackage.BEHAVIORAL_FEATURE__OWNED_PARAMETER_SET :
@@ -1324,7 +1355,8 @@
 		result.append(", isAbstract: "); //$NON-NLS-1$
 		result.append((eFlags & IS_ABSTRACT_EFLAG) != 0);
 		result.append(", concurrency: "); //$NON-NLS-1$
-		result.append(concurrency);
+		result
+			.append(CONCURRENCY_EFLAG_VALUES[(eFlags & CONCURRENCY_EFLAG) >>> CONCURRENCY_EFLAG_OFFSET]);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallActionImpl.java
index 31de820..5c6fc01 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallActionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: CallActionImpl.java,v 1.26 2007/04/25 17:47:01 khussey Exp $
+ * $Id: CallActionImpl.java,v 1.27 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -94,7 +95,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_SYNCHRONOUS_EFLAG = 1 << 11;
+	protected static final int IS_SYNCHRONOUS_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getResults() <em>Result</em>}' containment reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassImpl.java
index 49dd39a..ad1e748 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ClassImpl.java,v 1.41 2007/04/25 17:47:00 khussey Exp $
+ * $Id: ClassImpl.java,v 1.42 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -193,7 +194,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_ACTIVE_EFLAG = 1 << 12;
+	protected static final int IS_ACTIVE_EFLAG = 1 << 14;
 
 	/**
 	 * The cached value of the '{@link #getOwnedReceptions() <em>Owned Reception</em>}' containment reference list.
@@ -2011,8 +2012,6 @@
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (isActive: "); //$NON-NLS-1$
 		result.append((eFlags & IS_ACTIVE_EFLAG) != 0);
-		result.append(", isAbstract: "); //$NON-NLS-1$
-		result.append((eFlags & IS_ABSTRACT_EFLAG) != 0);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierImpl.java
index b2d17e3..38f283d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ClassifierImpl.java,v 1.43 2007/05/02 15:03:11 khussey Exp $
+ * $Id: ClassifierImpl.java,v 1.44 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -148,7 +149,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_LEAF_EFLAG = 1 << 10;
+	protected static final int IS_LEAF_EFLAG = 1 << 12;
 
 	/**
 	 * The cached value of the '{@link #getTemplateParameter() <em>Template Parameter</em>}' reference.
@@ -208,7 +209,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_ABSTRACT_EFLAG = 1 << 11;
+	protected static final int IS_ABSTRACT_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getGeneralizations() <em>Generalization</em>}' containment reference list.
@@ -679,7 +680,7 @@
 	 */
 	@Override
 	public VisibilityKind getVisibility() {
-		return visibility;
+		return VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
 	}
 
 	/**
@@ -689,13 +690,14 @@
 	 */
 	@Override
 	public void setVisibility(VisibilityKind newVisibility) {
-		VisibilityKind oldVisibility = visibility;
-		visibility = newVisibility == null
-			? VISIBILITY_EDEFAULT
-			: newVisibility;
+		VisibilityKind oldVisibility = VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
+		if (newVisibility == null)
+			newVisibility = VISIBILITY_EDEFAULT;
+		eFlags = eFlags & ~VISIBILITY_EFLAG
+			| newVisibility.ordinal() << VISIBILITY_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.CLASSIFIER__VISIBILITY, oldVisibility, visibility));
+				UMLPackage.CLASSIFIER__VISIBILITY, oldVisibility, newVisibility));
 	}
 
 	/**
@@ -705,7 +707,7 @@
 	 */
 	@Override
 	public boolean isSetVisibility() {
-		return visibility != VISIBILITY_EDEFAULT;
+		return (eFlags & VISIBILITY_EFLAG) != VISIBILITY_EFLAG_DEFAULT;
 	}
 
 	/**
@@ -2766,8 +2768,6 @@
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (isLeaf: "); //$NON-NLS-1$
 		result.append((eFlags & IS_LEAF_EFLAG) != 0);
-		result.append(", visibility: "); //$NON-NLS-1$
-		result.append(visibility);
 		result.append(", isAbstract: "); //$NON-NLS-1$
 		result.append((eFlags & IS_ABSTRACT_EFLAG) != 0);
 		result.append(')');
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CombinedFragmentImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CombinedFragmentImpl.java
index 5900485..d172f01 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CombinedFragmentImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CombinedFragmentImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: CombinedFragmentImpl.java,v 1.23 2007/04/25 17:47:03 khussey Exp $
+ * $Id: CombinedFragmentImpl.java,v 1.24 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -83,14 +84,43 @@
 	protected static final InteractionOperatorKind INTERACTION_OPERATOR_EDEFAULT = InteractionOperatorKind.SEQ_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getInteractionOperator() <em>Interaction Operator</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getInteractionOperator() <em>Interaction Operator</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int INTERACTION_OPERATOR_EFLAG_OFFSET = 12;
+
+	/**
+	 * The flags representing the default value of the '{@link #getInteractionOperator() <em>Interaction Operator</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int INTERACTION_OPERATOR_EFLAG_DEFAULT = INTERACTION_OPERATOR_EDEFAULT
+		.ordinal() << INTERACTION_OPERATOR_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link InteractionOperatorKind Interaction Operator Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final InteractionOperatorKind[] INTERACTION_OPERATOR_EFLAG_VALUES = InteractionOperatorKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getInteractionOperator() <em>Interaction Operator</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getInteractionOperator()
 	 * @generated
 	 * @ordered
 	 */
-	protected InteractionOperatorKind interactionOperator = INTERACTION_OPERATOR_EDEFAULT;
+	protected static final int INTERACTION_OPERATOR_EFLAG = 0xf << INTERACTION_OPERATOR_EFLAG_OFFSET;
 
 	/**
 	 * The cached value of the '{@link #getOperands() <em>Operand</em>}' containment reference list.
@@ -164,7 +194,7 @@
 	 * @generated
 	 */
 	public InteractionOperatorKind getInteractionOperator() {
-		return interactionOperator;
+		return INTERACTION_OPERATOR_EFLAG_VALUES[(eFlags & INTERACTION_OPERATOR_EFLAG) >>> INTERACTION_OPERATOR_EFLAG_OFFSET];
 	}
 
 	/**
@@ -174,14 +204,16 @@
 	 */
 	public void setInteractionOperator(
 			InteractionOperatorKind newInteractionOperator) {
-		InteractionOperatorKind oldInteractionOperator = interactionOperator;
-		interactionOperator = newInteractionOperator == null
-			? INTERACTION_OPERATOR_EDEFAULT
-			: newInteractionOperator;
+		InteractionOperatorKind oldInteractionOperator = INTERACTION_OPERATOR_EFLAG_VALUES[(eFlags & INTERACTION_OPERATOR_EFLAG) >>> INTERACTION_OPERATOR_EFLAG_OFFSET];
+		if (newInteractionOperator == null)
+			newInteractionOperator = INTERACTION_OPERATOR_EDEFAULT;
+		eFlags = eFlags
+			& ~INTERACTION_OPERATOR_EFLAG
+			| newInteractionOperator.ordinal() << INTERACTION_OPERATOR_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
 				UMLPackage.COMBINED_FRAGMENT__INTERACTION_OPERATOR,
-				oldInteractionOperator, interactionOperator));
+				oldInteractionOperator, newInteractionOperator));
 	}
 
 	/**
@@ -589,7 +621,7 @@
 			case UMLPackage.COMBINED_FRAGMENT__ENCLOSING_OPERAND :
 				return basicGetEnclosingOperand() != null;
 			case UMLPackage.COMBINED_FRAGMENT__INTERACTION_OPERATOR :
-				return interactionOperator != INTERACTION_OPERATOR_EDEFAULT;
+				return (eFlags & INTERACTION_OPERATOR_EFLAG) != INTERACTION_OPERATOR_EFLAG_DEFAULT;
 			case UMLPackage.COMBINED_FRAGMENT__OPERAND :
 				return operands != null && !operands.isEmpty();
 			case UMLPackage.COMBINED_FRAGMENT__CFRAGMENT_GATE :
@@ -610,7 +642,8 @@
 
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (interactionOperator: "); //$NON-NLS-1$
-		result.append(interactionOperator);
+		result
+			.append(INTERACTION_OPERATOR_EFLAG_VALUES[(eFlags & INTERACTION_OPERATOR_EFLAG) >>> INTERACTION_OPERATOR_EFLAG_OFFSET]);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ComponentImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ComponentImpl.java
index ec1ddb4..22ef103 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ComponentImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ComponentImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ComponentImpl.java,v 1.33 2007/04/25 17:47:01 khussey Exp $
+ * $Id: ComponentImpl.java,v 1.34 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -110,7 +111,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_INDIRECTLY_INSTANTIATED_EFLAG = 1 << 13;
+	protected static final int IS_INDIRECTLY_INSTANTIATED_EFLAG = 1 << 15;
 
 	/**
 	 * The cached value of the '{@link #getPackagedElements() <em>Packaged Element</em>}' containment reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConditionalNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConditionalNodeImpl.java
index 407e68c..c26eac6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConditionalNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConditionalNodeImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ConditionalNodeImpl.java,v 1.25 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ConditionalNodeImpl.java,v 1.26 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -100,7 +101,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_DETERMINATE_EFLAG = 1 << 12;
+	protected static final int IS_DETERMINATE_EFLAG = 1 << 14;
 
 	/**
 	 * The default value of the '{@link #isAssured() <em>Is Assured</em>}' attribute.
@@ -120,7 +121,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_ASSURED_EFLAG = 1 << 13;
+	protected static final int IS_ASSURED_EFLAG = 1 << 15;
 
 	/**
 	 * The cached value of the '{@link #getClauses() <em>Clause</em>}' containment reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorImpl.java
index e4aa7e6..2f1d444 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ConnectorImpl.java,v 1.19 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ConnectorImpl.java,v 1.20 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -116,14 +117,42 @@
 	protected static final ConnectorKind KIND_EDEFAULT = ConnectorKind.ASSEMBLY_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int KIND_EFLAG_OFFSET = 14;
+
+	/**
+	 * The flags representing the default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int KIND_EFLAG_DEFAULT = KIND_EDEFAULT.ordinal() << KIND_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link ConnectorKind Connector Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final ConnectorKind[] KIND_EFLAG_VALUES = ConnectorKind
+		.values();
+
+	/**
+	 * The flag representing the value of the '{@link #getKind() <em>Kind</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getKind()
 	 * @generated
 	 * @ordered
 	 */
-	protected ConnectorKind kind = KIND_EDEFAULT;
+	protected static final int KIND_EFLAG = 1 << KIND_EFLAG_OFFSET;
 
 	/**
 	 * The flag representing whether the Kind attribute has been set.
@@ -132,7 +161,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int KIND_ESETFLAG = 1 << 12;
+	protected static final int KIND_ESETFLAG = 1 << 15;
 
 	/**
 	 * The cached value of the '{@link #getContracts() <em>Contract</em>}' reference list.
@@ -331,7 +360,7 @@
 	 * @generated
 	 */
 	public ConnectorKind getKind() {
-		return kind;
+		return KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET];
 	}
 
 	/**
@@ -340,15 +369,15 @@
 	 * @generated
 	 */
 	public void setKind(ConnectorKind newKind) {
-		ConnectorKind oldKind = kind;
-		kind = newKind == null
-			? KIND_EDEFAULT
-			: newKind;
+		ConnectorKind oldKind = KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET];
+		if (newKind == null)
+			newKind = KIND_EDEFAULT;
+		eFlags = eFlags & ~KIND_EFLAG | newKind.ordinal() << KIND_EFLAG_OFFSET;
 		boolean oldKindESet = (eFlags & KIND_ESETFLAG) != 0;
 		eFlags |= KIND_ESETFLAG;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.CONNECTOR__KIND, oldKind, kind, !oldKindESet));
+				UMLPackage.CONNECTOR__KIND, oldKind, newKind, !oldKindESet));
 	}
 
 	/**
@@ -357,9 +386,9 @@
 	 * @generated
 	 */
 	public void unsetKind() {
-		ConnectorKind oldKind = kind;
+		ConnectorKind oldKind = KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET];
 		boolean oldKindESet = (eFlags & KIND_ESETFLAG) != 0;
-		kind = KIND_EDEFAULT;
+		eFlags = eFlags & ~KIND_EFLAG | KIND_EFLAG_DEFAULT;
 		eFlags &= ~KIND_ESETFLAG;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.UNSET,
@@ -775,7 +804,8 @@
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (kind: "); //$NON-NLS-1$
 		if ((eFlags & KIND_ESETFLAG) != 0)
-			result.append(kind);
+			result
+				.append(KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET]);
 		else
 			result.append("<unset>"); //$NON-NLS-1$
 		result.append(')');
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConsiderIgnoreFragmentImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConsiderIgnoreFragmentImpl.java
index 9ab5f2b..24c24ae 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConsiderIgnoreFragmentImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConsiderIgnoreFragmentImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ConsiderIgnoreFragmentImpl.java,v 1.15 2007/02/26 16:17:58 khussey Exp $
+ * $Id: ConsiderIgnoreFragmentImpl.java,v 1.16 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -371,7 +372,7 @@
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT__ENCLOSING_OPERAND :
 				return basicGetEnclosingOperand() != null;
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT__INTERACTION_OPERATOR :
-				return interactionOperator != INTERACTION_OPERATOR_EDEFAULT;
+				return (eFlags & INTERACTION_OPERATOR_EFLAG) != INTERACTION_OPERATOR_EFLAG_DEFAULT;
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT__OPERAND :
 				return operands != null && !operands.isEmpty();
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT__CFRAGMENT_GATE :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ContinuationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ContinuationImpl.java
index 774db99..37b7f1d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ContinuationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ContinuationImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ContinuationImpl.java,v 1.15 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ContinuationImpl.java,v 1.16 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -71,7 +72,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int SETTING_EFLAG = 1 << 10;
+	protected static final int SETTING_EFLAG = 1 << 12;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DeploymentSpecificationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DeploymentSpecificationImpl.java
index 2895a30..745b68d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DeploymentSpecificationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DeploymentSpecificationImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: DeploymentSpecificationImpl.java,v 1.21 2007/04/25 17:47:01 khussey Exp $
+ * $Id: DeploymentSpecificationImpl.java,v 1.22 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -101,7 +102,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int DEPLOYMENT_LOCATION_ESETFLAG = 1 << 13;
+	protected static final int DEPLOYMENT_LOCATION_ESETFLAG = 1 << 15;
 
 	/**
 	 * The default value of the '{@link #getExecutionLocation() <em>Execution Location</em>}' attribute.
@@ -130,7 +131,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int EXECUTION_LOCATION_ESETFLAG = 1 << 14;
+	protected static final int EXECUTION_LOCATION_ESETFLAG = 1 << 16;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestroyObjectActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestroyObjectActionImpl.java
index b0df4bb..99a3e6a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestroyObjectActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestroyObjectActionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: DestroyObjectActionImpl.java,v 1.26 2007/04/25 17:47:01 khussey Exp $
+ * $Id: DestroyObjectActionImpl.java,v 1.27 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -92,7 +93,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_DESTROY_LINKS_EFLAG = 1 << 11;
+	protected static final int IS_DESTROY_LINKS_EFLAG = 1 << 13;
 
 	/**
 	 * The default value of the '{@link #isDestroyOwnedObjects() <em>Is Destroy Owned Objects</em>}' attribute.
@@ -112,7 +113,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_DESTROY_OWNED_OBJECTS_EFLAG = 1 << 12;
+	protected static final int IS_DESTROY_OWNED_OBJECTS_EFLAG = 1 << 14;
 
 	/**
 	 * The cached value of the '{@link #getTarget() <em>Target</em>}' containment reference.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImportImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImportImpl.java
index 938d091..eba0f94 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImportImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImportImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ElementImportImpl.java,v 1.18 2007/04/25 17:47:01 khussey Exp $
+ * $Id: ElementImportImpl.java,v 1.19 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -80,14 +81,43 @@
 	protected static final VisibilityKind VISIBILITY_EDEFAULT = VisibilityKind.PUBLIC_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int VISIBILITY_EFLAG_OFFSET = 8;
+
+	/**
+	 * The flags representing the default value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int VISIBILITY_EFLAG_DEFAULT = VISIBILITY_EDEFAULT
+		.ordinal() << VISIBILITY_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link VisibilityKind Visibility Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final VisibilityKind[] VISIBILITY_EFLAG_VALUES = VisibilityKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getVisibility()
 	 * @generated
 	 * @ordered
 	 */
-	protected VisibilityKind visibility = VISIBILITY_EDEFAULT;
+	protected static final int VISIBILITY_EFLAG = 0x3 << VISIBILITY_EFLAG_OFFSET;
 
 	/**
 	 * The default value of the '{@link #getAlias() <em>Alias</em>}' attribute.
@@ -116,7 +146,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int ALIAS_ESETFLAG = 1 << 8;
+	protected static final int ALIAS_ESETFLAG = 1 << 10;
 
 	/**
 	 * The cached value of the '{@link #getImportedElement() <em>Imported Element</em>}' reference.
@@ -205,7 +235,7 @@
 	 * @generated
 	 */
 	public VisibilityKind getVisibility() {
-		return visibility;
+		return VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
 	}
 
 	/**
@@ -214,14 +244,15 @@
 	 * @generated
 	 */
 	public void setVisibility(VisibilityKind newVisibility) {
-		VisibilityKind oldVisibility = visibility;
-		visibility = newVisibility == null
-			? VISIBILITY_EDEFAULT
-			: newVisibility;
+		VisibilityKind oldVisibility = VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
+		if (newVisibility == null)
+			newVisibility = VISIBILITY_EDEFAULT;
+		eFlags = eFlags & ~VISIBILITY_EFLAG
+			| newVisibility.ordinal() << VISIBILITY_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
 				UMLPackage.ELEMENT_IMPORT__VISIBILITY, oldVisibility,
-				visibility));
+				newVisibility));
 	}
 
 	/**
@@ -595,7 +626,7 @@
 			case UMLPackage.ELEMENT_IMPORT__TARGET :
 				return isSetTargets();
 			case UMLPackage.ELEMENT_IMPORT__VISIBILITY :
-				return visibility != VISIBILITY_EDEFAULT;
+				return (eFlags & VISIBILITY_EFLAG) != VISIBILITY_EFLAG_DEFAULT;
 			case UMLPackage.ELEMENT_IMPORT__ALIAS :
 				return isSetAlias();
 			case UMLPackage.ELEMENT_IMPORT__IMPORTED_ELEMENT :
@@ -618,7 +649,8 @@
 
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (visibility: "); //$NON-NLS-1$
-		result.append(visibility);
+		result
+			.append(VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET]);
 		result.append(", alias: "); //$NON-NLS-1$
 		if ((eFlags & ALIAS_ESETFLAG) != 0)
 			result.append(alias);
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionNodeImpl.java
index 2998a01..e4abc96 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionNodeImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ExpansionNodeImpl.java,v 1.19 2007/04/25 17:47:01 khussey Exp $
+ * $Id: ExpansionNodeImpl.java,v 1.20 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -673,7 +674,7 @@
 			case UMLPackage.EXPANSION_NODE__TYPE :
 				return type != null;
 			case UMLPackage.EXPANSION_NODE__ORDERING :
-				return ordering != ORDERING_EDEFAULT;
+				return (eFlags & ORDERING_EFLAG) != ORDERING_EFLAG_DEFAULT;
 			case UMLPackage.EXPANSION_NODE__IS_CONTROL_TYPE :
 				return ((eFlags & IS_CONTROL_TYPE_EFLAG) != 0) != IS_CONTROL_TYPE_EDEFAULT;
 			case UMLPackage.EXPANSION_NODE__UPPER_BOUND :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionRegionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionRegionImpl.java
index 1db56f5..8ec15cb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionRegionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionRegionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ExpansionRegionImpl.java,v 1.20 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ExpansionRegionImpl.java,v 1.21 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -84,14 +85,42 @@
 	protected static final ExpansionKind MODE_EDEFAULT = ExpansionKind.ITERATIVE_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getMode() <em>Mode</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getMode() <em>Mode</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int MODE_EFLAG_OFFSET = 14;
+
+	/**
+	 * The flags representing the default value of the '{@link #getMode() <em>Mode</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int MODE_EFLAG_DEFAULT = MODE_EDEFAULT.ordinal() << MODE_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link ExpansionKind Expansion Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final ExpansionKind[] MODE_EFLAG_VALUES = ExpansionKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getMode() <em>Mode</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getMode()
 	 * @generated
 	 * @ordered
 	 */
-	protected ExpansionKind mode = MODE_EDEFAULT;
+	protected static final int MODE_EFLAG = 0x3 << MODE_EFLAG_OFFSET;
 
 	/**
 	 * The cached value of the '{@link #getInputElements() <em>Input Element</em>}' reference list.
@@ -120,6 +149,7 @@
 	 */
 	protected ExpansionRegionImpl() {
 		super();
+		eFlags |= MODE_EFLAG_DEFAULT;
 	}
 
 	/**
@@ -138,7 +168,7 @@
 	 * @generated
 	 */
 	public ExpansionKind getMode() {
-		return mode;
+		return MODE_EFLAG_VALUES[(eFlags & MODE_EFLAG) >>> MODE_EFLAG_OFFSET];
 	}
 
 	/**
@@ -147,13 +177,13 @@
 	 * @generated
 	 */
 	public void setMode(ExpansionKind newMode) {
-		ExpansionKind oldMode = mode;
-		mode = newMode == null
-			? MODE_EDEFAULT
-			: newMode;
+		ExpansionKind oldMode = MODE_EFLAG_VALUES[(eFlags & MODE_EFLAG) >>> MODE_EFLAG_OFFSET];
+		if (newMode == null)
+			newMode = MODE_EDEFAULT;
+		eFlags = eFlags & ~MODE_EFLAG | newMode.ordinal() << MODE_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.EXPANSION_REGION__MODE, oldMode, mode));
+				UMLPackage.EXPANSION_REGION__MODE, oldMode, newMode));
 	}
 
 	/**
@@ -853,7 +883,7 @@
 			case UMLPackage.EXPANSION_REGION__NODE :
 				return nodes != null && !nodes.isEmpty();
 			case UMLPackage.EXPANSION_REGION__MODE :
-				return mode != MODE_EDEFAULT;
+				return (eFlags & MODE_EFLAG) != MODE_EFLAG_DEFAULT;
 			case UMLPackage.EXPANSION_REGION__INPUT_ELEMENT :
 				return inputElements != null && !inputElements.isEmpty();
 			case UMLPackage.EXPANSION_REGION__OUTPUT_ELEMENT :
@@ -874,7 +904,8 @@
 
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (mode: "); //$NON-NLS-1$
-		result.append(mode);
+		result
+			.append(MODE_EFLAG_VALUES[(eFlags & MODE_EFLAG) >>> MODE_EFLAG_OFFSET]);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpressionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpressionImpl.java
index 4475054..e4b99ae 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpressionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpressionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ExpressionImpl.java,v 1.22 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ExpressionImpl.java,v 1.23 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -89,7 +90,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int SYMBOL_ESETFLAG = 1 << 10;
+	protected static final int SYMBOL_ESETFLAG = 1 << 12;
 
 	/**
 	 * The cached value of the '{@link #getOperands() <em>Operand</em>}' containment reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FeatureImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FeatureImpl.java
index 261924b..efedad9 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FeatureImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FeatureImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: FeatureImpl.java,v 1.16 2007/04/25 17:47:01 khussey Exp $
+ * $Id: FeatureImpl.java,v 1.17 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -70,7 +71,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_STATIC_EFLAG = 1 << 11;
+	protected static final int IS_STATIC_EFLAG = 1 << 13;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationSetImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationSetImpl.java
index 5365e24..264c3ab 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationSetImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationSetImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: GeneralizationSetImpl.java,v 1.17 2007/04/25 17:47:01 khussey Exp $
+ * $Id: GeneralizationSetImpl.java,v 1.18 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -81,7 +82,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_COVERING_EFLAG = 1 << 10;
+	protected static final int IS_COVERING_EFLAG = 1 << 12;
 
 	/**
 	 * The default value of the '{@link #isDisjoint() <em>Is Disjoint</em>}' attribute.
@@ -101,7 +102,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_DISJOINT_EFLAG = 1 << 11;
+	protected static final int IS_DISJOINT_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getPowertype() <em>Powertype</em>}' reference.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceSpecificationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceSpecificationImpl.java
index 57f8477..f84997f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceSpecificationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceSpecificationImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: InstanceSpecificationImpl.java,v 1.22 2007/04/25 17:47:03 khussey Exp $
+ * $Id: InstanceSpecificationImpl.java,v 1.23 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -317,7 +318,7 @@
 	 */
 	@Override
 	public VisibilityKind getVisibility() {
-		return visibility;
+		return VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
 	}
 
 	/**
@@ -327,14 +328,15 @@
 	 */
 	@Override
 	public void setVisibility(VisibilityKind newVisibility) {
-		VisibilityKind oldVisibility = visibility;
-		visibility = newVisibility == null
-			? VISIBILITY_EDEFAULT
-			: newVisibility;
+		VisibilityKind oldVisibility = VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
+		if (newVisibility == null)
+			newVisibility = VISIBILITY_EDEFAULT;
+		eFlags = eFlags & ~VISIBILITY_EFLAG
+			| newVisibility.ordinal() << VISIBILITY_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
 				UMLPackage.INSTANCE_SPECIFICATION__VISIBILITY, oldVisibility,
-				visibility));
+				newVisibility));
 	}
 
 	/**
@@ -344,7 +346,7 @@
 	 */
 	@Override
 	public boolean isSetVisibility() {
-		return visibility != VISIBILITY_EDEFAULT;
+		return (eFlags & VISIBILITY_EFLAG) != VISIBILITY_EFLAG_DEFAULT;
 	}
 
 	/**
@@ -987,23 +989,6 @@
 	 * @generated
 	 */
 	@Override
-	public String toString() {
-		if (eIsProxy())
-			return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (visibility: "); //$NON-NLS-1$
-		result.append(visibility);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Element basicGetOwner() {
 		TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
 		if (owningTemplateParameter != null) {
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/JoinNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/JoinNodeImpl.java
index 6d8558c..810553a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/JoinNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/JoinNodeImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: JoinNodeImpl.java,v 1.26 2007/04/25 17:47:03 khussey Exp $
+ * $Id: JoinNodeImpl.java,v 1.27 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -90,7 +91,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_COMBINE_DUPLICATE_EFLAG = 1 << 11;
+	protected static final int IS_COMBINE_DUPLICATE_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getJoinSpec() <em>Join Spec</em>}' containment reference.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralBooleanImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralBooleanImpl.java
index a63f1dd..db84d52 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralBooleanImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralBooleanImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: LiteralBooleanImpl.java,v 1.16 2007/04/25 17:47:01 khussey Exp $
+ * $Id: LiteralBooleanImpl.java,v 1.17 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -65,7 +66,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int VALUE_EFLAG = 1 << 10;
+	protected static final int VALUE_EFLAG = 1 << 12;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralStringImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralStringImpl.java
index 2193c7a..00e0e7b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralStringImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralStringImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: LiteralStringImpl.java,v 1.16 2007/04/25 17:47:01 khussey Exp $
+ * $Id: LiteralStringImpl.java,v 1.17 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -74,7 +75,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int VALUE_ESETFLAG = 1 << 10;
+	protected static final int VALUE_ESETFLAG = 1 << 12;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LoopNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LoopNodeImpl.java
index 8cc06de..fd1fb51 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LoopNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LoopNodeImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: LoopNodeImpl.java,v 1.28 2007/04/25 17:47:04 khussey Exp $
+ * $Id: LoopNodeImpl.java,v 1.29 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -106,7 +107,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_TESTED_FIRST_EFLAG = 1 << 12;
+	protected static final int IS_TESTED_FIRST_EFLAG = 1 << 14;
 
 	/**
 	 * The cached value of the '{@link #getBodyParts() <em>Body Part</em>}' reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MessageImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MessageImpl.java
index 6fda5a9..d3a21fb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MessageImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MessageImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: MessageImpl.java,v 1.25 2007/04/25 17:47:03 khussey Exp $
+ * $Id: MessageImpl.java,v 1.26 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -103,14 +104,43 @@
 	protected static final MessageSort MESSAGE_SORT_EDEFAULT = MessageSort.SYNCH_CALL_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getMessageSort() <em>Message Sort</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getMessageSort() <em>Message Sort</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int MESSAGE_SORT_EFLAG_OFFSET = 12;
+
+	/**
+	 * The flags representing the default value of the '{@link #getMessageSort() <em>Message Sort</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int MESSAGE_SORT_EFLAG_DEFAULT = MESSAGE_SORT_EDEFAULT
+		.ordinal() << MESSAGE_SORT_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link MessageSort Message Sort}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final MessageSort[] MESSAGE_SORT_EFLAG_VALUES = MessageSort
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getMessageSort() <em>Message Sort</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getMessageSort()
 	 * @generated
 	 * @ordered
 	 */
-	protected MessageSort messageSort = MESSAGE_SORT_EDEFAULT;
+	protected static final int MESSAGE_SORT_EFLAG = 0x7 << MESSAGE_SORT_EFLAG_OFFSET;
 
 	/**
 	 * The cached value of the '{@link #getReceiveEvent() <em>Receive Event</em>}' reference.
@@ -225,7 +255,7 @@
 	 * @generated
 	 */
 	public MessageSort getMessageSort() {
-		return messageSort;
+		return MESSAGE_SORT_EFLAG_VALUES[(eFlags & MESSAGE_SORT_EFLAG) >>> MESSAGE_SORT_EFLAG_OFFSET];
 	}
 
 	/**
@@ -234,13 +264,15 @@
 	 * @generated
 	 */
 	public void setMessageSort(MessageSort newMessageSort) {
-		MessageSort oldMessageSort = messageSort;
-		messageSort = newMessageSort == null
-			? MESSAGE_SORT_EDEFAULT
-			: newMessageSort;
+		MessageSort oldMessageSort = MESSAGE_SORT_EFLAG_VALUES[(eFlags & MESSAGE_SORT_EFLAG) >>> MESSAGE_SORT_EFLAG_OFFSET];
+		if (newMessageSort == null)
+			newMessageSort = MESSAGE_SORT_EDEFAULT;
+		eFlags = eFlags & ~MESSAGE_SORT_EFLAG
+			| newMessageSort.ordinal() << MESSAGE_SORT_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.MESSAGE__MESSAGE_SORT, oldMessageSort, messageSort));
+				UMLPackage.MESSAGE__MESSAGE_SORT, oldMessageSort,
+				newMessageSort));
 	}
 
 	/**
@@ -854,7 +886,7 @@
 			case UMLPackage.MESSAGE__MESSAGE_KIND :
 				return getMessageKind() != MESSAGE_KIND_EDEFAULT;
 			case UMLPackage.MESSAGE__MESSAGE_SORT :
-				return messageSort != MESSAGE_SORT_EDEFAULT;
+				return (eFlags & MESSAGE_SORT_EFLAG) != MESSAGE_SORT_EFLAG_DEFAULT;
 			case UMLPackage.MESSAGE__RECEIVE_EVENT :
 				return receiveEvent != null;
 			case UMLPackage.MESSAGE__SEND_EVENT :
@@ -883,7 +915,8 @@
 
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (messageSort: "); //$NON-NLS-1$
-		result.append(messageSort);
+		result
+			.append(MESSAGE_SORT_EFLAG_VALUES[(eFlags & MESSAGE_SORT_EFLAG) >>> MESSAGE_SORT_EFLAG_OFFSET]);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ModelImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ModelImpl.java
index 011dbe3..b330b8d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ModelImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ModelImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ModelImpl.java,v 1.14 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ModelImpl.java,v 1.15 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -82,7 +83,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int VIEWPOINT_ESETFLAG = 1 << 10;
+	protected static final int VIEWPOINT_ESETFLAG = 1 << 12;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamedElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamedElementImpl.java
index 668496d..ca07834 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamedElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamedElementImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: NamedElementImpl.java,v 1.29 2007/04/25 17:47:02 khussey Exp $
+ * $Id: NamedElementImpl.java,v 1.30 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -116,14 +117,43 @@
 	protected static final VisibilityKind VISIBILITY_EDEFAULT = VisibilityKind.PUBLIC_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int VISIBILITY_EFLAG_OFFSET = 9;
+
+	/**
+	 * The flags representing the default value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int VISIBILITY_EFLAG_DEFAULT = VISIBILITY_EDEFAULT
+		.ordinal() << VISIBILITY_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link VisibilityKind Visibility Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 * @ordered
+	 */
+	protected static final VisibilityKind[] VISIBILITY_EFLAG_VALUES = VisibilityKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getVisibility()
 	 * @generated
 	 * @ordered
 	 */
-	protected VisibilityKind visibility = VISIBILITY_EDEFAULT;
+	protected static final int VISIBILITY_EFLAG = 0x3 << VISIBILITY_EFLAG_OFFSET;
 
 	/**
 	 * The flag representing whether the Visibility attribute has been set.
@@ -132,7 +162,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int VISIBILITY_ESETFLAG = 1 << 9;
+	protected static final int VISIBILITY_ESETFLAG = 1 << 11;
 
 	/**
 	 * The default value of the '{@link #getQualifiedName() <em>Qualified Name</em>}' attribute.
@@ -265,7 +295,7 @@
 	 * @generated
 	 */
 	public VisibilityKind getVisibility() {
-		return visibility;
+		return VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
 	}
 
 	/**
@@ -274,16 +304,17 @@
 	 * @generated
 	 */
 	public void setVisibility(VisibilityKind newVisibility) {
-		VisibilityKind oldVisibility = visibility;
-		visibility = newVisibility == null
-			? VISIBILITY_EDEFAULT
-			: newVisibility;
+		VisibilityKind oldVisibility = VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
+		if (newVisibility == null)
+			newVisibility = VISIBILITY_EDEFAULT;
+		eFlags = eFlags & ~VISIBILITY_EFLAG
+			| newVisibility.ordinal() << VISIBILITY_EFLAG_OFFSET;
 		boolean oldVisibilityESet = (eFlags & VISIBILITY_ESETFLAG) != 0;
 		eFlags |= VISIBILITY_ESETFLAG;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
 				UMLPackage.NAMED_ELEMENT__VISIBILITY, oldVisibility,
-				visibility, !oldVisibilityESet));
+				newVisibility, !oldVisibilityESet));
 	}
 
 	/**
@@ -292,9 +323,9 @@
 	 * @generated
 	 */
 	public void unsetVisibility() {
-		VisibilityKind oldVisibility = visibility;
+		VisibilityKind oldVisibility = VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
 		boolean oldVisibilityESet = (eFlags & VISIBILITY_ESETFLAG) != 0;
-		visibility = VISIBILITY_EDEFAULT;
+		eFlags = eFlags & ~VISIBILITY_EFLAG | VISIBILITY_EFLAG_DEFAULT;
 		eFlags &= ~VISIBILITY_ESETFLAG;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.UNSET,
@@ -797,7 +828,8 @@
 			result.append("<unset>"); //$NON-NLS-1$
 		result.append(", visibility: "); //$NON-NLS-1$
 		if ((eFlags & VISIBILITY_ESETFLAG) != 0)
-			result.append(visibility);
+			result
+				.append(VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET]);
 		else
 			result.append("<unset>"); //$NON-NLS-1$
 		result.append(')');
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectFlowImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectFlowImpl.java
index cd713d4..c55ee72 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectFlowImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectFlowImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ObjectFlowImpl.java,v 1.17 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ObjectFlowImpl.java,v 1.18 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -80,7 +81,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_MULTICAST_EFLAG = 1 << 11;
+	protected static final int IS_MULTICAST_EFLAG = 1 << 13;
 
 	/**
 	 * The default value of the '{@link #isMultireceive() <em>Is Multireceive</em>}' attribute.
@@ -100,7 +101,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_MULTIRECEIVE_EFLAG = 1 << 12;
+	protected static final int IS_MULTIRECEIVE_EFLAG = 1 << 14;
 
 	/**
 	 * The cached value of the '{@link #getTransformation() <em>Transformation</em>}' reference.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectNodeImpl.java
index ccb4ff0..0070d46 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectNodeImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ObjectNodeImpl.java,v 1.25 2007/04/25 17:47:02 khussey Exp $
+ * $Id: ObjectNodeImpl.java,v 1.26 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -102,14 +103,43 @@
 	protected static final ObjectNodeOrderingKind ORDERING_EDEFAULT = ObjectNodeOrderingKind.FIFO_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getOrdering() <em>Ordering</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getOrdering() <em>Ordering</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int ORDERING_EFLAG_OFFSET = 13;
+
+	/**
+	 * The flags representing the default value of the '{@link #getOrdering() <em>Ordering</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int ORDERING_EFLAG_DEFAULT = ORDERING_EDEFAULT
+		.ordinal() << ORDERING_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link ObjectNodeOrderingKind Object Node Ordering Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final ObjectNodeOrderingKind[] ORDERING_EFLAG_VALUES = ObjectNodeOrderingKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getOrdering() <em>Ordering</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getOrdering()
 	 * @generated
 	 * @ordered
 	 */
-	protected ObjectNodeOrderingKind ordering = ORDERING_EDEFAULT;
+	protected static final int ORDERING_EFLAG = 0x3 << ORDERING_EFLAG_OFFSET;
 
 	/**
 	 * The default value of the '{@link #isControlType() <em>Is Control Type</em>}' attribute.
@@ -129,7 +159,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_CONTROL_TYPE_EFLAG = 1 << 11;
+	protected static final int IS_CONTROL_TYPE_EFLAG = 1 << 15;
 
 	/**
 	 * The cached value of the '{@link #getUpperBound() <em>Upper Bound</em>}' containment reference.
@@ -168,6 +198,7 @@
 	 */
 	protected ObjectNodeImpl() {
 		super();
+		eFlags |= ORDERING_EFLAG_DEFAULT;
 	}
 
 	/**
@@ -253,7 +284,7 @@
 	 * @generated
 	 */
 	public ObjectNodeOrderingKind getOrdering() {
-		return ordering;
+		return ORDERING_EFLAG_VALUES[(eFlags & ORDERING_EFLAG) >>> ORDERING_EFLAG_OFFSET];
 	}
 
 	/**
@@ -262,13 +293,14 @@
 	 * @generated
 	 */
 	public void setOrdering(ObjectNodeOrderingKind newOrdering) {
-		ObjectNodeOrderingKind oldOrdering = ordering;
-		ordering = newOrdering == null
-			? ORDERING_EDEFAULT
-			: newOrdering;
+		ObjectNodeOrderingKind oldOrdering = ORDERING_EFLAG_VALUES[(eFlags & ORDERING_EFLAG) >>> ORDERING_EFLAG_OFFSET];
+		if (newOrdering == null)
+			newOrdering = ORDERING_EDEFAULT;
+		eFlags = eFlags & ~ORDERING_EFLAG
+			| newOrdering.ordinal() << ORDERING_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.OBJECT_NODE__ORDERING, oldOrdering, ordering));
+				UMLPackage.OBJECT_NODE__ORDERING, oldOrdering, newOrdering));
 	}
 
 	/**
@@ -871,7 +903,7 @@
 			case UMLPackage.OBJECT_NODE__TYPE :
 				return type != null;
 			case UMLPackage.OBJECT_NODE__ORDERING :
-				return ordering != ORDERING_EDEFAULT;
+				return (eFlags & ORDERING_EFLAG) != ORDERING_EFLAG_DEFAULT;
 			case UMLPackage.OBJECT_NODE__IS_CONTROL_TYPE :
 				return ((eFlags & IS_CONTROL_TYPE_EFLAG) != 0) != IS_CONTROL_TYPE_EDEFAULT;
 			case UMLPackage.OBJECT_NODE__UPPER_BOUND :
@@ -932,7 +964,8 @@
 
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (ordering: "); //$NON-NLS-1$
-		result.append(ordering);
+		result
+			.append(ORDERING_EFLAG_VALUES[(eFlags & ORDERING_EFLAG) >>> ORDERING_EFLAG_OFFSET]);
 		result.append(", isControlType: "); //$NON-NLS-1$
 		result.append((eFlags & IS_CONTROL_TYPE_EFLAG) != 0);
 		result.append(')');
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OperationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OperationImpl.java
index b3fc3c7..b55420d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OperationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OperationImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: OperationImpl.java,v 1.35 2007/04/25 17:47:01 khussey Exp $
+ * $Id: OperationImpl.java,v 1.36 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -162,7 +163,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_QUERY_EFLAG = 1 << 13;
+	protected static final int IS_QUERY_EFLAG = 1 << 17;
 
 	/**
 	 * The default value of the '{@link #isOrdered() <em>Is Ordered</em>}' attribute.
@@ -2198,7 +2199,7 @@
 			case UMLPackage.OPERATION__METHOD :
 				return methods != null && !methods.isEmpty();
 			case UMLPackage.OPERATION__CONCURRENCY :
-				return concurrency != CONCURRENCY_EDEFAULT;
+				return (eFlags & CONCURRENCY_EFLAG) != CONCURRENCY_EFLAG_DEFAULT;
 			case UMLPackage.OPERATION__RAISED_EXCEPTION :
 				return isSetRaisedExceptions();
 			case UMLPackage.OPERATION__OWNED_PARAMETER_SET :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImpl.java
index 655425c..4c07d3f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: PackageImpl.java,v 1.37 2007/05/02 15:03:11 khussey Exp $
+ * $Id: PackageImpl.java,v 1.38 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -353,7 +354,7 @@
 	 */
 	@Override
 	public VisibilityKind getVisibility() {
-		return visibility;
+		return VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
 	}
 
 	/**
@@ -363,13 +364,14 @@
 	 */
 	@Override
 	public void setVisibility(VisibilityKind newVisibility) {
-		VisibilityKind oldVisibility = visibility;
-		visibility = newVisibility == null
-			? VISIBILITY_EDEFAULT
-			: newVisibility;
+		VisibilityKind oldVisibility = VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
+		if (newVisibility == null)
+			newVisibility = VISIBILITY_EDEFAULT;
+		eFlags = eFlags & ~VISIBILITY_EFLAG
+			| newVisibility.ordinal() << VISIBILITY_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.PACKAGE__VISIBILITY, oldVisibility, visibility));
+				UMLPackage.PACKAGE__VISIBILITY, oldVisibility, newVisibility));
 	}
 
 	/**
@@ -379,7 +381,7 @@
 	 */
 	@Override
 	public boolean isSetVisibility() {
-		return visibility != VISIBILITY_EDEFAULT;
+		return (eFlags & VISIBILITY_EFLAG) != VISIBILITY_EFLAG_DEFAULT;
 	}
 
 	/**
@@ -1732,23 +1734,6 @@
 	 * @generated
 	 */
 	@Override
-	public String toString() {
-		if (eIsProxy())
-			return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (visibility: "); //$NON-NLS-1$
-		result.append(visibility);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Element basicGetOwner() {
 		TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
 		if (owningTemplateParameter != null) {
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImportImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImportImpl.java
index ec9ba70..92caab9 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImportImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImportImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: PackageImportImpl.java,v 1.18 2007/04/25 17:47:02 khussey Exp $
+ * $Id: PackageImportImpl.java,v 1.19 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -78,14 +79,43 @@
 	protected static final VisibilityKind VISIBILITY_EDEFAULT = VisibilityKind.PUBLIC_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int VISIBILITY_EFLAG_OFFSET = 8;
+
+	/**
+	 * The flags representing the default value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int VISIBILITY_EFLAG_DEFAULT = VISIBILITY_EDEFAULT
+		.ordinal() << VISIBILITY_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link VisibilityKind Visibility Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final VisibilityKind[] VISIBILITY_EFLAG_VALUES = VisibilityKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getVisibility() <em>Visibility</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getVisibility()
 	 * @generated
 	 * @ordered
 	 */
-	protected VisibilityKind visibility = VISIBILITY_EDEFAULT;
+	protected static final int VISIBILITY_EFLAG = 0x3 << VISIBILITY_EFLAG_OFFSET;
 
 	/**
 	 * The cached value of the '{@link #getImportedPackage() <em>Imported Package</em>}' reference.
@@ -174,7 +204,7 @@
 	 * @generated
 	 */
 	public VisibilityKind getVisibility() {
-		return visibility;
+		return VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
 	}
 
 	/**
@@ -183,14 +213,15 @@
 	 * @generated
 	 */
 	public void setVisibility(VisibilityKind newVisibility) {
-		VisibilityKind oldVisibility = visibility;
-		visibility = newVisibility == null
-			? VISIBILITY_EDEFAULT
-			: newVisibility;
+		VisibilityKind oldVisibility = VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
+		if (newVisibility == null)
+			newVisibility = VISIBILITY_EDEFAULT;
+		eFlags = eFlags & ~VISIBILITY_EFLAG
+			| newVisibility.ordinal() << VISIBILITY_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
 				UMLPackage.PACKAGE_IMPORT__VISIBILITY, oldVisibility,
-				visibility));
+				newVisibility));
 	}
 
 	/**
@@ -487,7 +518,7 @@
 			case UMLPackage.PACKAGE_IMPORT__TARGET :
 				return isSetTargets();
 			case UMLPackage.PACKAGE_IMPORT__VISIBILITY :
-				return visibility != VISIBILITY_EDEFAULT;
+				return (eFlags & VISIBILITY_EFLAG) != VISIBILITY_EFLAG_DEFAULT;
 			case UMLPackage.PACKAGE_IMPORT__IMPORTED_PACKAGE :
 				return importedPackage != null;
 			case UMLPackage.PACKAGE_IMPORT__IMPORTING_NAMESPACE :
@@ -508,7 +539,8 @@
 
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (visibility: "); //$NON-NLS-1$
-		result.append(visibility);
+		result
+			.append(VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET]);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageableElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageableElementImpl.java
index 7ff5001..77bdbbc 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageableElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageableElementImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: PackageableElementImpl.java,v 1.18 2007/04/25 17:47:01 khussey Exp $
+ * $Id: PackageableElementImpl.java,v 1.19 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -264,7 +265,7 @@
 	 */
 	@Override
 	public VisibilityKind getVisibility() {
-		return visibility;
+		return VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
 	}
 
 	/**
@@ -274,14 +275,15 @@
 	 */
 	@Override
 	public void setVisibility(VisibilityKind newVisibility) {
-		VisibilityKind oldVisibility = visibility;
-		visibility = newVisibility == null
-			? VISIBILITY_EDEFAULT
-			: newVisibility;
+		VisibilityKind oldVisibility = VISIBILITY_EFLAG_VALUES[(eFlags & VISIBILITY_EFLAG) >>> VISIBILITY_EFLAG_OFFSET];
+		if (newVisibility == null)
+			newVisibility = VISIBILITY_EDEFAULT;
+		eFlags = eFlags & ~VISIBILITY_EFLAG
+			| newVisibility.ordinal() << VISIBILITY_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
 				UMLPackage.PACKAGEABLE_ELEMENT__VISIBILITY, oldVisibility,
-				visibility));
+				newVisibility));
 	}
 
 	/**
@@ -291,7 +293,7 @@
 	 */
 	@Override
 	public boolean isSetVisibility() {
-		return visibility != VISIBILITY_EDEFAULT;
+		return (eFlags & VISIBILITY_EFLAG) != VISIBILITY_EFLAG_DEFAULT;
 	}
 
 	/**
@@ -600,23 +602,6 @@
 	 * @generated
 	 */
 	@Override
-	public String toString() {
-		if (eIsProxy())
-			return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (visibility: "); //$NON-NLS-1$
-		result.append(visibility);
-		result.append(')');
-		return result.toString();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
 	public Element basicGetOwner() {
 		TemplateParameter owningTemplateParameter = basicGetOwningTemplateParameter();
 		if (owningTemplateParameter != null) {
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java
index 2f35345..98bbb6f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ParameterImpl.java,v 1.39 2007/05/04 20:35:34 khussey Exp $
+ * $Id: ParameterImpl.java,v 1.40 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -108,7 +109,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_ORDERED_EFLAG = 1 << 10;
+	protected static final int IS_ORDERED_EFLAG = 1 << 12;
 
 	/**
 	 * The default value of the '{@link #isUnique() <em>Is Unique</em>}' attribute.
@@ -128,7 +129,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_UNIQUE_EFLAG = 1 << 11;
+	protected static final int IS_UNIQUE_EFLAG = 1 << 13;
 
 	/**
 	 * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
@@ -191,14 +192,43 @@
 	protected static final ParameterDirectionKind DIRECTION_EDEFAULT = ParameterDirectionKind.IN_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DIRECTION_EFLAG_OFFSET = 14;
+
+	/**
+	 * The flags representing the default value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int DIRECTION_EFLAG_DEFAULT = DIRECTION_EDEFAULT
+		.ordinal() << DIRECTION_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link ParameterDirectionKind Parameter Direction Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final ParameterDirectionKind[] DIRECTION_EFLAG_VALUES = ParameterDirectionKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getDirection() <em>Direction</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getDirection()
 	 * @generated
 	 * @ordered
 	 */
-	protected ParameterDirectionKind direction = DIRECTION_EDEFAULT;
+	protected static final int DIRECTION_EFLAG = 0x3 << DIRECTION_EFLAG_OFFSET;
 
 	/**
 	 * The default value of the '{@link #getDefault() <em>Default</em>}' attribute.
@@ -238,7 +268,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_EXCEPTION_EFLAG = 1 << 12;
+	protected static final int IS_EXCEPTION_EFLAG = 1 << 16;
 
 	/**
 	 * The default value of the '{@link #isStream() <em>Is Stream</em>}' attribute.
@@ -258,7 +288,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_STREAM_EFLAG = 1 << 13;
+	protected static final int IS_STREAM_EFLAG = 1 << 17;
 
 	/**
 	 * The default value of the '{@link #getEffect() <em>Effect</em>}' attribute.
@@ -271,14 +301,42 @@
 	protected static final ParameterEffectKind EFFECT_EDEFAULT = ParameterEffectKind.CREATE_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getEffect() <em>Effect</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getEffect() <em>Effect</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int EFFECT_EFLAG_OFFSET = 18;
+
+	/**
+	 * The flags representing the default value of the '{@link #getEffect() <em>Effect</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int EFFECT_EFLAG_DEFAULT = EFFECT_EDEFAULT.ordinal() << EFFECT_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link ParameterEffectKind Parameter Effect Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final ParameterEffectKind[] EFFECT_EFLAG_VALUES = ParameterEffectKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getEffect() <em>Effect</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getEffect()
 	 * @generated
 	 * @ordered
 	 */
-	protected ParameterEffectKind effect = EFFECT_EDEFAULT;
+	protected static final int EFFECT_EFLAG = 0x3 << EFFECT_EFLAG_OFFSET;
 
 	/**
 	 * The flag representing whether the Effect attribute has been set.
@@ -287,7 +345,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int EFFECT_ESETFLAG = 1 << 14;
+	protected static final int EFFECT_ESETFLAG = 1 << 20;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -730,7 +788,7 @@
 	 * @generated
 	 */
 	public ParameterDirectionKind getDirection() {
-		return direction;
+		return DIRECTION_EFLAG_VALUES[(eFlags & DIRECTION_EFLAG) >>> DIRECTION_EFLAG_OFFSET];
 	}
 
 	/**
@@ -739,13 +797,14 @@
 	 * @generated
 	 */
 	public void setDirection(ParameterDirectionKind newDirection) {
-		ParameterDirectionKind oldDirection = direction;
-		direction = newDirection == null
-			? DIRECTION_EDEFAULT
-			: newDirection;
+		ParameterDirectionKind oldDirection = DIRECTION_EFLAG_VALUES[(eFlags & DIRECTION_EFLAG) >>> DIRECTION_EFLAG_OFFSET];
+		if (newDirection == null)
+			newDirection = DIRECTION_EDEFAULT;
+		eFlags = eFlags & ~DIRECTION_EFLAG
+			| newDirection.ordinal() << DIRECTION_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.PARAMETER__DIRECTION, oldDirection, direction));
+				UMLPackage.PARAMETER__DIRECTION, oldDirection, newDirection));
 	}
 
 	/**
@@ -942,7 +1001,7 @@
 	 * @generated
 	 */
 	public ParameterEffectKind getEffect() {
-		return effect;
+		return EFFECT_EFLAG_VALUES[(eFlags & EFFECT_EFLAG) >>> EFFECT_EFLAG_OFFSET];
 	}
 
 	/**
@@ -951,15 +1010,17 @@
 	 * @generated
 	 */
 	public void setEffect(ParameterEffectKind newEffect) {
-		ParameterEffectKind oldEffect = effect;
-		effect = newEffect == null
-			? EFFECT_EDEFAULT
-			: newEffect;
+		ParameterEffectKind oldEffect = EFFECT_EFLAG_VALUES[(eFlags & EFFECT_EFLAG) >>> EFFECT_EFLAG_OFFSET];
+		if (newEffect == null)
+			newEffect = EFFECT_EDEFAULT;
+		eFlags = eFlags & ~EFFECT_EFLAG
+			| newEffect.ordinal() << EFFECT_EFLAG_OFFSET;
 		boolean oldEffectESet = (eFlags & EFFECT_ESETFLAG) != 0;
 		eFlags |= EFFECT_ESETFLAG;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.PARAMETER__EFFECT, oldEffect, effect, !oldEffectESet));
+				UMLPackage.PARAMETER__EFFECT, oldEffect, newEffect,
+				!oldEffectESet));
 	}
 
 	/**
@@ -968,9 +1029,9 @@
 	 * @generated
 	 */
 	public void unsetEffect() {
-		ParameterEffectKind oldEffect = effect;
+		ParameterEffectKind oldEffect = EFFECT_EFLAG_VALUES[(eFlags & EFFECT_EFLAG) >>> EFFECT_EFLAG_OFFSET];
 		boolean oldEffectESet = (eFlags & EFFECT_ESETFLAG) != 0;
-		effect = EFFECT_EDEFAULT;
+		eFlags = eFlags & ~EFFECT_EFLAG | EFFECT_EFLAG_DEFAULT;
 		eFlags &= ~EFFECT_ESETFLAG;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.UNSET,
@@ -1612,7 +1673,7 @@
 			case UMLPackage.PARAMETER__OPERATION :
 				return basicGetOperation() != null;
 			case UMLPackage.PARAMETER__DIRECTION :
-				return direction != DIRECTION_EDEFAULT;
+				return (eFlags & DIRECTION_EFLAG) != DIRECTION_EFLAG_DEFAULT;
 			case UMLPackage.PARAMETER__DEFAULT :
 				return isSetDefault();
 			case UMLPackage.PARAMETER__DEFAULT_VALUE :
@@ -1699,14 +1760,16 @@
 		result.append(", isUnique: "); //$NON-NLS-1$
 		result.append((eFlags & IS_UNIQUE_EFLAG) != 0);
 		result.append(", direction: "); //$NON-NLS-1$
-		result.append(direction);
+		result
+			.append(DIRECTION_EFLAG_VALUES[(eFlags & DIRECTION_EFLAG) >>> DIRECTION_EFLAG_OFFSET]);
 		result.append(", isException: "); //$NON-NLS-1$
 		result.append((eFlags & IS_EXCEPTION_EFLAG) != 0);
 		result.append(", isStream: "); //$NON-NLS-1$
 		result.append((eFlags & IS_STREAM_EFLAG) != 0);
 		result.append(", effect: "); //$NON-NLS-1$
 		if ((eFlags & EFFECT_ESETFLAG) != 0)
-			result.append(effect);
+			result
+				.append(EFFECT_EFLAG_VALUES[(eFlags & EFFECT_EFLAG) >>> EFFECT_EFLAG_OFFSET]);
 		else
 			result.append("<unset>"); //$NON-NLS-1$
 		result.append(')');
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PinImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PinImpl.java
index 039f048..124485d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PinImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PinImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: PinImpl.java,v 1.29 2007/04/25 17:47:03 khussey Exp $
+ * $Id: PinImpl.java,v 1.30 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -101,7 +102,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_ORDERED_EFLAG = 1 << 12;
+	protected static final int IS_ORDERED_EFLAG = 1 << 16;
 
 	/**
 	 * The default value of the '{@link #isUnique() <em>Is Unique</em>}' attribute.
@@ -121,7 +122,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_UNIQUE_EFLAG = 1 << 13;
+	protected static final int IS_UNIQUE_EFLAG = 1 << 17;
 
 	/**
 	 * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
@@ -181,7 +182,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_CONTROL_EFLAG = 1 << 14;
+	protected static final int IS_CONTROL_EFLAG = 1 << 18;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -1084,7 +1085,7 @@
 			case UMLPackage.PIN__TYPE :
 				return type != null;
 			case UMLPackage.PIN__ORDERING :
-				return ordering != ORDERING_EDEFAULT;
+				return (eFlags & ORDERING_EFLAG) != ORDERING_EFLAG_DEFAULT;
 			case UMLPackage.PIN__IS_CONTROL_TYPE :
 				return ((eFlags & IS_CONTROL_TYPE_EFLAG) != 0) != IS_CONTROL_TYPE_EDEFAULT;
 			case UMLPackage.PIN__UPPER_BOUND :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java
index 4f5a25f..b93b293 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: PortImpl.java,v 1.29 2007/05/04 20:35:34 khussey Exp $
+ * $Id: PortImpl.java,v 1.30 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -98,7 +99,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_BEHAVIOR_EFLAG = 1 << 17;
+	protected static final int IS_BEHAVIOR_EFLAG = 1 << 21;
 
 	/**
 	 * The default value of the '{@link #isService() <em>Is Service</em>}' attribute.
@@ -118,7 +119,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_SERVICE_EFLAG = 1 << 18;
+	protected static final int IS_SERVICE_EFLAG = 1 << 22;
 
 	/**
 	 * The cached value of the '{@link #getRedefinedPorts() <em>Redefined Port</em>}' reference list.
@@ -999,7 +1000,7 @@
 			case UMLPackage.PORT__DEFAULT :
 				return isSetDefault();
 			case UMLPackage.PORT__AGGREGATION :
-				return aggregation != AGGREGATION_EDEFAULT;
+				return (eFlags & AGGREGATION_EFLAG) != AGGREGATION_EFLAG_DEFAULT;
 			case UMLPackage.PORT__IS_COMPOSITE :
 				return isComposite() != IS_COMPOSITE_EDEFAULT;
 			case UMLPackage.PORT__REDEFINED_PROPERTY :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java
index c1c92e3..e90751e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation, Embarcadero Technologies, and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,9 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (Embarcadero Technologies) - 208353
+ *   Kenn Hussey (Embarcadero Technologies) - 208353, 204200
  *
- * $Id: PropertyImpl.java,v 1.44 2007/11/01 14:47:34 khussey Exp $
+ * $Id: PropertyImpl.java,v 1.45 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -189,7 +189,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_DERIVED_EFLAG = 1 << 15;
+	protected static final int IS_DERIVED_EFLAG = 1 << 17;
 
 	/**
 	 * The default value of the '{@link #isDerivedUnion() <em>Is Derived Union</em>}' attribute.
@@ -209,7 +209,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_DERIVED_UNION_EFLAG = 1 << 16;
+	protected static final int IS_DERIVED_UNION_EFLAG = 1 << 18;
 
 	/**
 	 * The default value of the '{@link #getDefault() <em>Default</em>}' attribute.
@@ -232,14 +232,43 @@
 	protected static final AggregationKind AGGREGATION_EDEFAULT = AggregationKind.NONE_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getAggregation() <em>Aggregation</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getAggregation() <em>Aggregation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int AGGREGATION_EFLAG_OFFSET = 19;
+
+	/**
+	 * The flags representing the default value of the '{@link #getAggregation() <em>Aggregation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int AGGREGATION_EFLAG_DEFAULT = AGGREGATION_EDEFAULT
+		.ordinal() << AGGREGATION_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link AggregationKind Aggregation Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final AggregationKind[] AGGREGATION_EFLAG_VALUES = AggregationKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getAggregation() <em>Aggregation</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getAggregation()
 	 * @generated
 	 * @ordered
 	 */
-	protected AggregationKind aggregation = AGGREGATION_EDEFAULT;
+	protected static final int AGGREGATION_EFLAG = 0x3 << AGGREGATION_EFLAG_OFFSET;
 
 	/**
 	 * The default value of the '{@link #isComposite() <em>Is Composite</em>}' attribute.
@@ -1147,7 +1176,7 @@
 	 * @generated
 	 */
 	public AggregationKind getAggregation() {
-		return aggregation;
+		return AGGREGATION_EFLAG_VALUES[(eFlags & AGGREGATION_EFLAG) >>> AGGREGATION_EFLAG_OFFSET];
 	}
 
 	/**
@@ -1156,13 +1185,15 @@
 	 * @generated
 	 */
 	public void setAggregation(AggregationKind newAggregation) {
-		AggregationKind oldAggregation = aggregation;
-		aggregation = newAggregation == null
-			? AGGREGATION_EDEFAULT
-			: newAggregation;
+		AggregationKind oldAggregation = AGGREGATION_EFLAG_VALUES[(eFlags & AGGREGATION_EFLAG) >>> AGGREGATION_EFLAG_OFFSET];
+		if (newAggregation == null)
+			newAggregation = AGGREGATION_EDEFAULT;
+		eFlags = eFlags & ~AGGREGATION_EFLAG
+			| newAggregation.ordinal() << AGGREGATION_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.PROPERTY__AGGREGATION, oldAggregation, aggregation));
+				UMLPackage.PROPERTY__AGGREGATION, oldAggregation,
+				newAggregation));
 	}
 
 	/**
@@ -2609,7 +2640,7 @@
 			case UMLPackage.PROPERTY__DEFAULT :
 				return isSetDefault();
 			case UMLPackage.PROPERTY__AGGREGATION :
-				return aggregation != AGGREGATION_EDEFAULT;
+				return (eFlags & AGGREGATION_EFLAG) != AGGREGATION_EFLAG_DEFAULT;
 			case UMLPackage.PROPERTY__IS_COMPOSITE :
 				return isComposite() != IS_COMPOSITE_EDEFAULT;
 			case UMLPackage.PROPERTY__REDEFINED_PROPERTY :
@@ -2746,9 +2777,8 @@
 		result.append(", isDerivedUnion: "); //$NON-NLS-1$
 		result.append((eFlags & IS_DERIVED_UNION_EFLAG) != 0);
 		result.append(", aggregation: "); //$NON-NLS-1$
-		result.append(aggregation);
-		result.append(", isReadOnly: "); //$NON-NLS-1$
-		result.append((eFlags & IS_READ_ONLY_EFLAG) != 0);
+		result
+			.append(AGGREGATION_EFLAG_VALUES[(eFlags & AGGREGATION_EFLAG) >>> AGGREGATION_EFLAG_OFFSET]);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolTransitionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolTransitionImpl.java
index 905aa64..47dd668 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolTransitionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolTransitionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ProtocolTransitionImpl.java,v 1.37 2007/05/04 20:35:34 khussey Exp $
+ * $Id: ProtocolTransitionImpl.java,v 1.38 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -855,7 +856,7 @@
 			case UMLPackage.PROTOCOL_TRANSITION__REDEFINITION_CONTEXT :
 				return isSetRedefinitionContexts();
 			case UMLPackage.PROTOCOL_TRANSITION__KIND :
-				return kind != KIND_EDEFAULT;
+				return (eFlags & KIND_EFLAG) != KIND_EFLAG_DEFAULT;
 			case UMLPackage.PROTOCOL_TRANSITION__CONTAINER :
 				return basicGetContainer() != null;
 			case UMLPackage.PROTOCOL_TRANSITION__REDEFINED_TRANSITION :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java
index bf84f8e..1aa4a5e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: PseudostateImpl.java,v 1.19 2007/05/04 20:35:34 khussey Exp $
+ * $Id: PseudostateImpl.java,v 1.20 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -77,14 +78,42 @@
 	protected static final PseudostateKind KIND_EDEFAULT = PseudostateKind.INITIAL_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int KIND_EFLAG_OFFSET = 12;
+
+	/**
+	 * The flags representing the default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int KIND_EFLAG_DEFAULT = KIND_EDEFAULT.ordinal() << KIND_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link PseudostateKind Pseudostate Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final PseudostateKind[] KIND_EFLAG_VALUES = PseudostateKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getKind() <em>Kind</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getKind()
 	 * @generated
 	 * @ordered
 	 */
-	protected PseudostateKind kind = KIND_EDEFAULT;
+	protected static final int KIND_EFLAG = 0xf << KIND_EFLAG_OFFSET;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -124,7 +153,7 @@
 	 * @generated
 	 */
 	public PseudostateKind getKind() {
-		return kind;
+		return KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET];
 	}
 
 	/**
@@ -133,13 +162,13 @@
 	 * @generated
 	 */
 	public void setKind(PseudostateKind newKind) {
-		PseudostateKind oldKind = kind;
-		kind = newKind == null
-			? KIND_EDEFAULT
-			: newKind;
+		PseudostateKind oldKind = KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET];
+		if (newKind == null)
+			newKind = KIND_EDEFAULT;
+		eFlags = eFlags & ~KIND_EFLAG | newKind.ordinal() << KIND_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.PSEUDOSTATE__KIND, oldKind, kind));
+				UMLPackage.PSEUDOSTATE__KIND, oldKind, newKind));
 	}
 
 	/**
@@ -647,7 +676,7 @@
 			case UMLPackage.PSEUDOSTATE__CONTAINER :
 				return basicGetContainer() != null;
 			case UMLPackage.PSEUDOSTATE__KIND :
-				return kind != KIND_EDEFAULT;
+				return (eFlags & KIND_EFLAG) != KIND_EFLAG_DEFAULT;
 			case UMLPackage.PSEUDOSTATE__STATE_MACHINE :
 				return basicGetStateMachine() != null;
 			case UMLPackage.PSEUDOSTATE__STATE :
@@ -668,7 +697,8 @@
 
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (kind: "); //$NON-NLS-1$
-		result.append(kind);
+		result
+			.append(KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET]);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadIsClassifiedObjectActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadIsClassifiedObjectActionImpl.java
index b5af5ee..f8bfef6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadIsClassifiedObjectActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadIsClassifiedObjectActionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ReadIsClassifiedObjectActionImpl.java,v 1.26 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ReadIsClassifiedObjectActionImpl.java,v 1.27 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -96,7 +97,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_DIRECT_EFLAG = 1 << 11;
+	protected static final int IS_DIRECT_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getClassifier() <em>Classifier</em>}' reference.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReceptionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReceptionImpl.java
index d42694d..a78f1bc 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReceptionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReceptionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ReceptionImpl.java,v 1.15 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ReceptionImpl.java,v 1.16 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -433,7 +434,7 @@
 			case UMLPackage.RECEPTION__METHOD :
 				return methods != null && !methods.isEmpty();
 			case UMLPackage.RECEPTION__CONCURRENCY :
-				return concurrency != CONCURRENCY_EDEFAULT;
+				return (eFlags & CONCURRENCY_EFLAG) != CONCURRENCY_EFLAG_DEFAULT;
 			case UMLPackage.RECEPTION__RAISED_EXCEPTION :
 				return raisedExceptions != null && !raisedExceptions.isEmpty();
 			case UMLPackage.RECEPTION__OWNED_PARAMETER_SET :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReclassifyObjectActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReclassifyObjectActionImpl.java
index b90103c..cc6cd34 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReclassifyObjectActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReclassifyObjectActionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ReclassifyObjectActionImpl.java,v 1.26 2007/04/25 17:47:01 khussey Exp $
+ * $Id: ReclassifyObjectActionImpl.java,v 1.27 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -95,7 +96,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_REPLACE_ALL_EFLAG = 1 << 11;
+	protected static final int IS_REPLACE_ALL_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getOldClassifiers() <em>Old Classifier</em>}' reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableElementImpl.java
index 21b383b..14b2921 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableElementImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: RedefinableElementImpl.java,v 1.18 2007/04/25 17:47:01 khussey Exp $
+ * $Id: RedefinableElementImpl.java,v 1.19 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -78,7 +79,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_LEAF_EFLAG = 1 << 10;
+	protected static final int IS_LEAF_EFLAG = 1 << 12;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReduceActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReduceActionImpl.java
index 8268875..ded7928 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReduceActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReduceActionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ReduceActionImpl.java,v 1.21 2007/04/25 17:47:03 khussey Exp $
+ * $Id: ReduceActionImpl.java,v 1.22 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -125,7 +126,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_ORDERED_EFLAG = 1 << 11;
+	protected static final int IS_ORDERED_EFLAG = 1 << 13;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RegionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RegionImpl.java
index 759c686..2cd83a6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RegionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RegionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: RegionImpl.java,v 1.28 2007/04/25 17:47:00 khussey Exp $
+ * $Id: RegionImpl.java,v 1.29 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -104,7 +105,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_LEAF_EFLAG = 1 << 10;
+	protected static final int IS_LEAF_EFLAG = 1 << 12;
 
 	/**
 	 * The cached value of the '{@link #getSubvertices() <em>Subvertex</em>}' containment reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveStructuralFeatureValueActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveStructuralFeatureValueActionImpl.java
index f5a2024..3fb34c3 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveStructuralFeatureValueActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveStructuralFeatureValueActionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: RemoveStructuralFeatureValueActionImpl.java,v 1.26 2007/04/25 17:47:01 khussey Exp $
+ * $Id: RemoveStructuralFeatureValueActionImpl.java,v 1.27 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -92,7 +93,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_REMOVE_DUPLICATES_EFLAG = 1 << 11;
+	protected static final int IS_REMOVE_DUPLICATES_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getRemoveAt() <em>Remove At</em>}' containment reference.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveVariableValueActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveVariableValueActionImpl.java
index 7603c37..83826ef 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveVariableValueActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveVariableValueActionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: RemoveVariableValueActionImpl.java,v 1.26 2007/04/25 17:47:04 khussey Exp $
+ * $Id: RemoveVariableValueActionImpl.java,v 1.27 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -92,7 +93,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_REMOVE_DUPLICATES_EFLAG = 1 << 11;
+	protected static final int IS_REMOVE_DUPLICATES_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getRemoveAt() <em>Remove At</em>}' containment reference.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java
index 86a71d0..032018e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: StateImpl.java,v 1.34 2007/05/04 20:35:34 khussey Exp $
+ * $Id: StateImpl.java,v 1.35 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -124,7 +125,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_LEAF_EFLAG = 1 << 10;
+	protected static final int IS_LEAF_EFLAG = 1 << 12;
 
 	/**
 	 * The default value of the '{@link #isComposite() <em>Is Composite</em>}' attribute.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureImpl.java
index 8bd3348..8d59c1c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: StructuralFeatureImpl.java,v 1.27 2007/04/25 17:47:03 khussey Exp $
+ * $Id: StructuralFeatureImpl.java,v 1.28 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -102,7 +103,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_ORDERED_EFLAG = 1 << 12;
+	protected static final int IS_ORDERED_EFLAG = 1 << 14;
 
 	/**
 	 * The default value of the '{@link #isUnique() <em>Is Unique</em>}' attribute.
@@ -122,7 +123,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_UNIQUE_EFLAG = 1 << 13;
+	protected static final int IS_UNIQUE_EFLAG = 1 << 15;
 
 	/**
 	 * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.
@@ -182,7 +183,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_READ_ONLY_EFLAG = 1 << 14;
+	protected static final int IS_READ_ONLY_EFLAG = 1 << 16;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredActivityNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredActivityNodeImpl.java
index d88ba65..44c0980 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredActivityNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredActivityNodeImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: StructuredActivityNodeImpl.java,v 1.34 2007/04/25 17:47:00 khussey Exp $
+ * $Id: StructuredActivityNodeImpl.java,v 1.35 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -164,7 +165,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int MUST_ISOLATE_EFLAG = 1 << 11;
+	protected static final int MUST_ISOLATE_EFLAG = 1 << 13;
 
 	/**
 	 * The cached value of the '{@link #getNodes() <em>Node</em>}' containment reference list.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeConstraintImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeConstraintImpl.java
index 97a98d6..c8e1c8b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeConstraintImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeConstraintImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: TimeConstraintImpl.java,v 1.23 2007/04/25 17:47:00 khussey Exp $
+ * $Id: TimeConstraintImpl.java,v 1.24 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -73,7 +74,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int FIRST_EVENT_EFLAG = 1 << 10;
+	protected static final int FIRST_EVENT_EFLAG = 1 << 12;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeEventImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeEventImpl.java
index bc9934d..7fc97a0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeEventImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeEventImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: TimeEventImpl.java,v 1.23 2007/04/25 17:47:03 khussey Exp $
+ * $Id: TimeEventImpl.java,v 1.24 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -85,7 +86,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_RELATIVE_EFLAG = 1 << 10;
+	protected static final int IS_RELATIVE_EFLAG = 1 << 12;
 
 	/**
 	 * The cached value of the '{@link #getWhen() <em>When</em>}' containment reference.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeObservationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeObservationImpl.java
index 2aa38fc..133039b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeObservationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeObservationImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: TimeObservationImpl.java,v 1.9 2007/04/25 17:47:00 khussey Exp $
+ * $Id: TimeObservationImpl.java,v 1.10 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -77,7 +78,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int FIRST_EVENT_EFLAG = 1 << 10;
+	protected static final int FIRST_EVENT_EFLAG = 1 << 12;
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TransitionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TransitionImpl.java
index 371ae29..cd04b09 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TransitionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TransitionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: TransitionImpl.java,v 1.28 2007/05/04 20:35:34 khussey Exp $
+ * $Id: TransitionImpl.java,v 1.29 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -112,7 +113,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_LEAF_EFLAG = 1 << 10;
+	protected static final int IS_LEAF_EFLAG = 1 << 12;
 
 	/**
 	 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
@@ -125,14 +126,42 @@
 	protected static final TransitionKind KIND_EDEFAULT = TransitionKind.EXTERNAL_LITERAL;
 
 	/**
-	 * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * The offset of the flags representing the value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int KIND_EFLAG_OFFSET = 13;
+
+	/**
+	 * The flags representing the default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int KIND_EFLAG_DEFAULT = KIND_EDEFAULT.ordinal() << KIND_EFLAG_OFFSET;
+
+	/**
+	 * The array of enumeration values for '{@link TransitionKind Transition Kind}'
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	private static final TransitionKind[] KIND_EFLAG_VALUES = TransitionKind
+		.values();
+
+	/**
+	 * The flags representing the value of the '{@link #getKind() <em>Kind</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getKind()
 	 * @generated
 	 * @ordered
 	 */
-	protected TransitionKind kind = KIND_EDEFAULT;
+	protected static final int KIND_EFLAG = 0x3 << KIND_EFLAG_OFFSET;
 
 	/**
 	 * The cached value of the '{@link #getRedefinedTransition() <em>Redefined Transition</em>}' reference.
@@ -201,6 +230,7 @@
 	 */
 	protected TransitionImpl() {
 		super();
+		eFlags |= KIND_EFLAG_DEFAULT;
 	}
 
 	/**
@@ -438,7 +468,7 @@
 	 * @generated
 	 */
 	public TransitionKind getKind() {
-		return kind;
+		return KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET];
 	}
 
 	/**
@@ -447,13 +477,13 @@
 	 * @generated
 	 */
 	public void setKind(TransitionKind newKind) {
-		TransitionKind oldKind = kind;
-		kind = newKind == null
-			? KIND_EDEFAULT
-			: newKind;
+		TransitionKind oldKind = KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET];
+		if (newKind == null)
+			newKind = KIND_EDEFAULT;
+		eFlags = eFlags & ~KIND_EFLAG | newKind.ordinal() << KIND_EFLAG_OFFSET;
 		if (eNotificationRequired())
 			eNotify(new ENotificationImpl(this, Notification.SET,
-				UMLPackage.TRANSITION__KIND, oldKind, kind));
+				UMLPackage.TRANSITION__KIND, oldKind, newKind));
 	}
 
 	/**
@@ -1364,7 +1394,7 @@
 			case UMLPackage.TRANSITION__REDEFINITION_CONTEXT :
 				return isSetRedefinitionContexts();
 			case UMLPackage.TRANSITION__KIND :
-				return kind != KIND_EDEFAULT;
+				return (eFlags & KIND_EFLAG) != KIND_EFLAG_DEFAULT;
 			case UMLPackage.TRANSITION__CONTAINER :
 				return basicGetContainer() != null;
 			case UMLPackage.TRANSITION__REDEFINED_TRANSITION :
@@ -1441,7 +1471,8 @@
 		result.append(" (isLeaf: "); //$NON-NLS-1$
 		result.append((eFlags & IS_LEAF_EFLAG) != 0);
 		result.append(", kind: "); //$NON-NLS-1$
-		result.append(kind);
+		result
+			.append(KIND_EFLAG_VALUES[(eFlags & KIND_EFLAG) >>> KIND_EFLAG_OFFSET]);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValuePinImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValuePinImpl.java
index 64353f1..189dbf7 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValuePinImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValuePinImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: ValuePinImpl.java,v 1.26 2007/04/25 17:47:02 khussey Exp $
+ * $Id: ValuePinImpl.java,v 1.27 2008/04/21 16:32:41 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -643,7 +644,7 @@
 			case UMLPackage.VALUE_PIN__TYPE :
 				return type != null;
 			case UMLPackage.VALUE_PIN__ORDERING :
-				return ordering != ORDERING_EDEFAULT;
+				return (eFlags & ORDERING_EFLAG) != ORDERING_EFLAG_DEFAULT;
 			case UMLPackage.VALUE_PIN__IS_CONTROL_TYPE :
 				return ((eFlags & IS_CONTROL_TYPE_EFLAG) != 0) != IS_CONTROL_TYPE_EDEFAULT;
 			case UMLPackage.VALUE_PIN__UPPER_BOUND :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java
index 3f677a7..17b3bfb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation, Embarcadero Technologies, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (Embarcadero Technologies) - 204200
  *
- * $Id: VariableImpl.java,v 1.33 2007/05/04 20:35:34 khussey Exp $
+ * $Id: VariableImpl.java,v 1.34 2008/04/21 16:32:42 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -100,7 +101,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_ORDERED_EFLAG = 1 << 10;
+	protected static final int IS_ORDERED_EFLAG = 1 << 12;
 
 	/**
 	 * The default value of the '{@link #isUnique() <em>Is Unique</em>}' attribute.
@@ -120,7 +121,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int IS_UNIQUE_EFLAG = 1 << 11;
+	protected static final int IS_UNIQUE_EFLAG = 1 << 13;
 
 	/**
 	 * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute.