[269598] Formatting, taking advantage of new interfaces.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/AttributeOwner.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/AttributeOwner.java
index d2aa770..a664f80 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/AttributeOwner.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/AttributeOwner.java
@@ -15,7 +15,6 @@
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;
 
-
 /**
  * Common protocol for {@linkplain Classifier classifiers} that own
  * {@linkplain Classifier#getAttributes() attributes}.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/OperationOwner.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/OperationOwner.java
index 3c3353b..f25a85f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/OperationOwner.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/OperationOwner.java
@@ -14,7 +14,6 @@
 
 import org.eclipse.emf.common.util.EList;
 
-
 /**
  * Common protocol for {@linkplain Classifier classifiers} that own
  * {@linkplain Classifier#getOperations() operations}.
@@ -50,8 +49,7 @@
 	 * @see #createOwnedOperation(String, EList, EList, Type)
 	 * @see #getOwnedOperation(String, EList, EList)
 	 */
-	Operation createOwnedOperation(String name,
- EList<String> parameterNames,
+	Operation createOwnedOperation(String name, EList<String> parameterNames,
 			EList<Type> parameterTypes);
 
 	/**
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLUtil.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLUtil.java
index 0cc6916..6da8c3d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLUtil.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLUtil.java
@@ -10,7 +10,7 @@
  *   Kenn Hussey (Embarcadero Technologies) - 199624, 184249, 204406, 208125, 204200, 213218, 213903, 220669, 208016, 226396, 271470
  *   Nicolas Rouquette (JPL) - 260120, 313837
  *   Kenn Hussey - 286329, 313601, 314971, 344907, 236184, 335125
- *   Kenn Hussey (CEA) - 327039, 358792, 364419, 366350, 307343, 382637, 273949, 389542, 389495, 316165, 392833, 399544, 322715, 163556, 212765, 397324, 204658, 408612, 411731
+ *   Kenn Hussey (CEA) - 327039, 358792, 364419, 366350, 307343, 382637, 273949, 389542, 389495, 316165, 392833, 399544, 322715, 163556, 212765, 397324, 204658, 408612, 411731, 269598
  *   Yann Tanguy (CEA) - 350402
  *   Christian W. Damus (CEA) - 392833, 251963, 405061
  *
@@ -73,8 +73,8 @@
 import org.eclipse.uml2.types.TypesFactory;
 import org.eclipse.uml2.types.TypesPackage;
 import org.eclipse.uml2.uml.AggregationKind;
-import org.eclipse.uml2.uml.Artifact;
 import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AttributeOwner;
 import org.eclipse.uml2.uml.Behavior;
 import org.eclipse.uml2.uml.BehavioredClassifier;
 import org.eclipse.uml2.uml.Classifier;
@@ -100,6 +100,7 @@
 import org.eclipse.uml2.uml.OpaqueBehavior;
 import org.eclipse.uml2.uml.OpaqueExpression;
 import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.OperationOwner;
 import org.eclipse.uml2.uml.PackageMerge;
 import org.eclipse.uml2.uml.Parameter;
 import org.eclipse.uml2.uml.ParameterDirectionKind;
@@ -108,10 +109,8 @@
 import org.eclipse.uml2.uml.Profile;
 import org.eclipse.uml2.uml.Property;
 import org.eclipse.uml2.uml.RedefinableElement;
-import org.eclipse.uml2.uml.Signal;
 import org.eclipse.uml2.uml.Stereotype;
 import org.eclipse.uml2.uml.StructuralFeature;
-import org.eclipse.uml2.uml.StructuredClassifier;
 import org.eclipse.uml2.uml.TemplateBinding;
 import org.eclipse.uml2.uml.TemplateParameter;
 import org.eclipse.uml2.uml.TemplateParameterSubstitution;
@@ -9808,73 +9807,15 @@
 	}
 
 	protected static EList<Property> getOwnedAttributes(Type type) {
-		return new UMLSwitch<EList<Property>>() {
-
-			@Override
-			public EList<Property> caseArtifact(Artifact artifact) {
-				return artifact.getOwnedAttributes();
-			}
-
-			@Override
-			public EList<Property> caseDataType(DataType dataType) {
-				return dataType.getOwnedAttributes();
-			}
-
-			@Override
-			public EList<Property> caseInterface(Interface interface_) {
-				return interface_.getOwnedAttributes();
-			}
-
-			@Override
-			public EList<Property> caseSignal(Signal signal) {
-				return signal.getOwnedAttributes();
-			}
-
-			@Override
-			public EList<Property> caseStructuredClassifier(
-					StructuredClassifier structuredClassifier) {
-				return structuredClassifier.getOwnedAttributes();
-			}
-
-			@Override
-			public EList<Property> doSwitch(EObject eObject) {
-				return eObject == null
-					? null
-					: super.doSwitch(eObject);
-			}
-		}.doSwitch(type);
+		return type instanceof AttributeOwner
+			? ((AttributeOwner) type).getOwnedAttributes()
+			: null;
 	}
 
 	protected static EList<Operation> getOwnedOperations(Type type) {
-		return new UMLSwitch<EList<Operation>>() {
-
-			@Override
-			public EList<Operation> caseArtifact(Artifact artifact) {
-				return artifact.getOwnedOperations();
-			}
-
-			@Override
-			public EList<Operation> caseClass(org.eclipse.uml2.uml.Class class_) {
-				return class_.getOwnedOperations();
-			}
-
-			@Override
-			public EList<Operation> caseDataType(DataType dataType) {
-				return dataType.getOwnedOperations();
-			}
-
-			@Override
-			public EList<Operation> caseInterface(Interface interface_) {
-				return interface_.getOwnedOperations();
-			}
-
-			@Override
-			public EList<Operation> doSwitch(EObject eObject) {
-				return eObject == null
-					? null
-					: super.doSwitch(eObject);
-			}
-		}.doSwitch(type);
+		return type instanceof OperationOwner
+			? ((OperationOwner) type).getOwnedOperations()
+			: null;
 	}
 
 	protected static EList<ETypeParameter> getETypeParameters(EObject eObject) {