[releng] Disable test that triggers UML Bug 547424
diff --git a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/genmodel/OCLGenModelUtil.java b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/genmodel/OCLGenModelUtil.java
index 2052cba..30cc2aa 100644
--- a/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/genmodel/OCLGenModelUtil.java
+++ b/examples/org.eclipse.ocl.examples.codegen/src/org/eclipse/ocl/examples/codegen/genmodel/OCLGenModelUtil.java
@@ -48,9 +48,10 @@
 public abstract class OCLGenModelUtil
 {
 	public static @NonNull OCLGenModelUtil INSTANCE =
-			GenRuntimeVersion.get("2.17") != null ? new EMF_CodeGen_2_17() :
-			GenRuntimeVersion.get("2.16") != null ? new EMF_CodeGen_2_16() :
-			GenRuntimeVersion.get("2.14") != null ? new EMF_CodeGen_2_14() :
+			GenRuntimeVersion.get("2.25") != null ? new EMF_CodeGen_2_25() :			// 2021-03
+			GenRuntimeVersion.get("2.17") != null ? new EMF_CodeGen_2_17() :			// 2019-03
+			GenRuntimeVersion.get("2.16") != null ? new EMF_CodeGen_2_16() :			// 2018-12
+			GenRuntimeVersion.get("2.14") != null ? new EMF_CodeGen_2_14() :			// Photon
 			new EMF_CodeGen_Default();
 
 	public static final @NonNull String OCL_GENMODEL_COPY_AND_PASTE_URI = OCLinEcoreGenModelGeneratorAdapter.OCL_GENMODEL_URI + "/CopyAndPaste";
@@ -329,6 +330,7 @@
 	public abstract boolean hasAPIDeprecatedTag(GenBase genBase);
 	public abstract boolean hasAPIDeprecatedTag(Collection<?>... elements);
 	public abstract boolean hasAPITags(GenBase genBase);
+	public abstract boolean hasDoubleOverrideBug547424();
 	public abstract boolean hasImplicitAPITags(GenBase genBase);
 	public abstract boolean hasImplicitAPITags(GenBase genBase, boolean excludeOwnDocumentation);
 	public abstract boolean hasImplicitAPIDeprecatedTag(GenBase genBase);
@@ -394,6 +396,11 @@
 		}
 
 		@Override
+		public boolean hasDoubleOverrideBug547424() {
+			return false;
+		}
+
+		@Override
 		public boolean hasImplicitAPITags(GenBase genBase) {
 			return false;
 		}
@@ -493,6 +500,11 @@
 	private static class EMF_CodeGen_2_16 extends EMF_CodeGen_2_14
 	{
 		@Override
+		public boolean hasDoubleOverrideBug547424() {
+			return true;	// Pre 2018-12 there were no overrides at all.
+		}
+
+		@Override
 		public boolean useInterfaceOverrideAnnotation(GenModel genModel) {
 			return genModel.useInterfaceOverrideAnnotation();
 		}
@@ -509,4 +521,16 @@
 			return true;
 		}
 	}
+
+	/**
+	 * EMF_CodeGen_2_25 redirects GenModel facilities available in an EMF >= 2.25 platform to the
+	 * standard implementation.
+	 */
+	private static class EMF_CodeGen_2_25 extends EMF_CodeGen_2_17
+	{
+		@Override
+		public boolean hasDoubleOverrideBug547424() {
+			return false;			// Fixed in UML 5.6.0 for 2021-03
+		}
+	}
 }
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java
index 9062007..6e184d5 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java
@@ -1189,6 +1189,10 @@
 	 * Verify that the static profile in Bug570891.uml model can be generated and compiled.
 	 */
 	public void testBug570891_uml() throws Throwable {
+		if (OCLGenModelUtil.INSTANCE.hasDoubleOverrideBug547424()) {				// Avoid UML BUG 547424
+			System.err.println(getName() + " has been disabled -see UML Bug 547424");
+			return;
+		}
 		doTestRunnable(new TestRunnable() {
 			@Override
 			public void runWithThrowable() throws Exception {