https://bugs.eclipse.org/bugs/show_bug.cgi?id=77405
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>