for (Type sup : types.closure(owner.type)) {
if (sup == owner.type) {
continue; // Skip the owner of the method
}
Scope scope = sup.tsym.members();
for (Scope.Entry e = scope.lookup(methodSymbol.name); e.scope != null; e = e.next()) {
if (e.sym != null
&& !e.sym.isStatic()
&& ((e.sym.flags() & Flags.SYNTHETIC) == 0)
&& e.sym.name.contentEquals(methodSymbol.name)
&& methodSymbol.overrides(e.sym, owner, types, true)) {