if(method.owner.isInterface())
return (MethodSymbol) implemented(method, method.owner.type.tsym, types);
for (Type superType = types.supertype(method.owner.type);
impl == null && superType.tsym != null;
superType = types.supertype(superType)) {
TypeSymbol i = superType.tsym;
// never go above this type since it has no supertype in Ceylon (does in Java though)
if(i.getQualifiedName().toString().equals("ceylon.language.Anything"))
break;
try {
for (Entry e = i.members().lookup(method.name);
impl == null && e.scope != null;
e = e.next()) {
// ignore some methods
if(isIgnored(e.sym))
continue;