Bug 443299 - [1.8][null] lowered 'this' is not recognized as non-null
- follow-up: don't blindly copy @Override, unresolved case
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/util/AstClone.java b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/util/AstClone.java
index 27fc5f8..502e824 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/util/AstClone.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/util/AstClone.java
@@ -47,6 +47,7 @@
 import org.eclipse.jdt.internal.compiler.lookup.MethodBinding;
 import org.eclipse.jdt.internal.compiler.lookup.TypeBinding;
 import org.eclipse.jdt.internal.compiler.lookup.Binding;
+import org.eclipse.jdt.internal.compiler.lookup.TypeConstants;
 import org.eclipse.jdt.internal.compiler.lookup.TypeIds;
 import org.eclipse.objectteams.otdt.core.exceptions.InternalCompilerError;
 import org.eclipse.objectteams.otdt.internal.core.compiler.ast.LiftingTypeReference;
@@ -336,8 +337,14 @@
 		int count = 0;
 		for (int i = 0; i < annotations.length; i++) {
 			if (annotations[i] instanceof MarkerAnnotation) { // refuse to generate complex annotations
-				if (annotations[i].resolvedType != null && annotations[i].resolvedType.id == TypeIds.T_JavaLangOverride)
-					continue; // don't copy @Override
+				// don't blindly copy @Override:
+				if (annotations[i].resolvedType != null) {
+					if (annotations[i].resolvedType.id == TypeIds.T_JavaLangOverride)
+						continue;
+				} else {
+					if (CharOperation.equals(annotations[i].type.getLastToken(), TypeConstants.JAVA_LANG_OVERRIDE[2]))
+						continue;
+				}
 				TypeReference ref = copyTypeReference(annotations[i].type);
 				result[count++] = new MarkerAnnotation(ref, annotations[i].sourceStart);
 			}