[452621] Search all partial types for operation implementations
diff --git a/examples/org.eclipse.ocl.examples.pivot/src/org/eclipse/ocl/examples/pivot/executor/PivotReflectiveFragment.java b/examples/org.eclipse.ocl.examples.pivot/src/org/eclipse/ocl/examples/pivot/executor/PivotReflectiveFragment.java
index c795776..d089846 100644
--- a/examples/org.eclipse.ocl.examples.pivot/src/org/eclipse/ocl/examples/pivot/executor/PivotReflectiveFragment.java
+++ b/examples/org.eclipse.ocl.examples.pivot/src/org/eclipse/ocl/examples/pivot/executor/PivotReflectiveFragment.java
@@ -17,6 +17,7 @@
 import org.eclipse.ocl.examples.domain.elements.DomainType;
 import org.eclipse.ocl.examples.domain.ids.ParametersId;
 import org.eclipse.ocl.examples.library.executor.ReflectiveFragment;
+import org.eclipse.ocl.examples.pivot.Operation;
 import org.eclipse.ocl.examples.pivot.manager.TypeServer;
 
 public class PivotReflectiveFragment extends ReflectiveFragment
@@ -29,13 +30,22 @@
 		TypeServer typeServer = (TypeServer) derivedInheritance;
 		String baseOperationName = baseOperation.getName();
 		ParametersId baseParametersId = baseOperation.getParametersId();
+		DomainOperation bestOperation = null;
 		for (DomainType partialType : typeServer.getPartialTypes()) {
 			for (DomainOperation localOperation : partialType.getOwnedOperation()) {
 				if (localOperation.getName().equals(baseOperationName) && (localOperation.getParametersId() == baseParametersId)) {
-					return localOperation;
+					if ((localOperation instanceof Operation) && (((Operation)localOperation).getETarget() != null)) {
+						return localOperation;
+					}					
+					if (bestOperation == null) {
+						bestOperation = localOperation;
+					}
+					else if ((localOperation.getBodyExpression() != null) && (bestOperation.getBodyExpression() == null)) {
+						bestOperation = localOperation;
+					}
 				}
 			}
 		}
-		return null;					// Not known locally, caller must try superfragments.
+		return bestOperation;					// null if not known locally, caller must try superfragments.
 	}
 }
\ No newline at end of file