diff --git a/deprecated/examples/org.eclipse.uml2.examples/src/org/eclipse/uml2/examples/uml22ecore/UML22Ecore.java b/deprecated/examples/org.eclipse.uml2.examples/src/org/eclipse/uml2/examples/uml22ecore/UML22Ecore.java
index 21d893a..6c19bb4 100644
--- a/deprecated/examples/org.eclipse.uml2.examples/src/org/eclipse/uml2/examples/uml22ecore/UML22Ecore.java
+++ b/deprecated/examples/org.eclipse.uml2.examples/src/org/eclipse/uml2/examples/uml22ecore/UML22Ecore.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UML22Ecore.java,v 1.5 2004/10/01 19:38:34 khussey Exp $
+ * $Id: UML22Ecore.java,v 1.6 2004/11/18 18:07:54 khussey Exp $
  */
 package org.eclipse.uml2.examples.uml22ecore;
 
@@ -63,11 +63,11 @@
 import org.eclipse.uml2.util.UML2Switch;
 
 /**
- *  
+ * 
  */
 public class UML22Ecore
-	extends UML2Switch
-	implements Converter {
+		extends UML2Switch
+		implements Converter {
 
 	protected final Map modelMap = new HashMap();
 
@@ -776,6 +776,86 @@
 				ExtendedMetaData.INSTANCE.setFeatureKind(eStructuralFeature,
 					featureKind);
 			}
+
+			try {
+				EnumerationLiteral visibility = (EnumerationLiteral) object
+					.getValue(eStructuralFeatureStereotype, "visibility"); //$NON-NLS-1$
+
+				int visibilityKind = visibility.getEnumeration()
+					.getOwnedLiterals().indexOf(visibility);
+
+				switch (visibilityKind) {
+					case 1 :
+						EcoreUtil.setSuppressedVisibility(eStructuralFeature,
+							EcoreUtil.GET, true);
+
+						if (eStructuralFeature.isChangeable()
+							&& !eStructuralFeature.isMany()) {
+
+							EcoreUtil.setSuppressedVisibility(
+								eStructuralFeature, EcoreUtil.SET, true);
+						}
+
+						if (eStructuralFeature.isUnsettable()) {
+							EcoreUtil.setSuppressedVisibility(
+								eStructuralFeature, EcoreUtil.IS_SET, true);
+
+							if (eStructuralFeature.isChangeable()) {
+								EcoreUtil.setSuppressedVisibility(
+									eStructuralFeature, EcoreUtil.UNSET, true);
+							}
+						}
+						break;
+					case 2 :
+						if (!eStructuralFeature.isMany()
+							&& eStructuralFeature.isChangeable()) {
+
+							EcoreUtil.setSuppressedVisibility(
+								eStructuralFeature, EcoreUtil.SET, true);
+						}
+
+						if (eStructuralFeature.isUnsettable()) {
+							EcoreUtil.setSuppressedVisibility(
+								eStructuralFeature, EcoreUtil.IS_SET, true);
+
+							if (eStructuralFeature.isChangeable()) {
+								EcoreUtil.setSuppressedVisibility(
+									eStructuralFeature, EcoreUtil.UNSET, true);
+							}
+						}
+						break;
+					case 3 :
+						if (eStructuralFeature.isUnsettable()) {
+							EcoreUtil.setSuppressedVisibility(
+								eStructuralFeature, EcoreUtil.IS_SET, true);
+
+							if (eStructuralFeature.isChangeable()) {
+								EcoreUtil.setSuppressedVisibility(
+									eStructuralFeature, EcoreUtil.UNSET, true);
+							}
+						}
+						break;
+					case 4 :
+						if (!eStructuralFeature.isMany()
+							&& eStructuralFeature.isChangeable()) {
+
+							EcoreUtil.setSuppressedVisibility(
+								eStructuralFeature, EcoreUtil.SET, true);
+						}
+
+						if (eStructuralFeature.isUnsettable()
+							&& eStructuralFeature.isChangeable()) {
+
+							EcoreUtil.setSuppressedVisibility(
+								eStructuralFeature, EcoreUtil.UNSET, true);
+						}
+						break;
+					default :
+						break;
+				}
+			} catch (IllegalArgumentException iae) {
+				// ignore
+			}
 		}
 
 		setAnnotations(object, eStructuralFeature);
diff --git a/plugins/org.eclipse.uml2-feature/feature.xml b/plugins/org.eclipse.uml2-feature/feature.xml
index 893b4dd..a64530d 100644
--- a/plugins/org.eclipse.uml2-feature/feature.xml
+++ b/plugins/org.eclipse.uml2-feature/feature.xml
@@ -12,7 +12,7 @@
  * Contributors: 
  *   IBM - Initial API and implementation
  *
- * $Id: feature.xml,v 1.8 2004/11/15 18:04:37 khussey Exp $
+ * $Id: feature.xml,v 1.9 2004/11/18 18:07:57 khussey Exp $
  */
 -->
 
@@ -68,6 +68,6 @@
       id="org.eclipse.uml2.resources"
       download-size="0"
       install-size="0"
-      version="1.0.1"/>
+      version="1.1.0"/>
 
 </feature>
