Bug 468116: [otdre] weaving access to indirectly inherited base method
fails in OT/Equinox settings

- fix change in OTSpecialAccessAttribute
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/bytecode/OTSpecialAccessAttribute.java b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/bytecode/OTSpecialAccessAttribute.java
index 4e2433f..6b2058a 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/bytecode/OTSpecialAccessAttribute.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/bytecode/OTSpecialAccessAttribute.java
@@ -123,8 +123,11 @@
 					// for OTDRE pass all classes to weave from boundBaseclass up to the actual declaring class (:-separated)
 					ReferenceBinding someClass = this.boundBaseclass.getRealClass();
 					if (someClass != null && TypeBinding.notEquals(someClass, this.method.declaringClass)) {
-						while ((someClass = someClass.superclass()) != null && TypeBinding.notEquals(someClass, this.method.declaringClass))
+						while ((someClass = someClass.superclass()) != null) {
 							weaveIntoClasses = CharOperation.concat(weaveIntoClasses, someClass.attributeName(), ':');
+							if (TypeBinding.equalsEquals(someClass, this.method.declaringClass))
+								break;
+						}
 					}
 				}
 				writeName(weaveIntoClasses);