checkVisibility(m2.getModifiers(), m1.getModifiers());
	private int compareMemberPrecedence(ResolvedMember m1, ResolvedMember m2) {		if (!m1.getReturnType().equals(m2.getReturnType())) return 0;				if (Modifier.isAbstract(m1.getModifiers())) return -1;		if (Modifier.isAbstract(m2.getModifiers())) return +1;			if (m1.getDeclaringType().equals(m2.getDeclaringType())) return 0;				ResolvedTypeX t1 = m1.getDeclaringType().resolve(world);		ResolvedTypeX t2 = m2.getDeclaringType().resolve(world);		if (t1.isAssignableFrom(t2)) {			checkVisibility(m1.getModifiers(), m2.getModifiers());  //XXX needs to be before abstract			return -1;		}		if (t2.isAssignableFrom(t1)) {			checkVisibility(m2.getModifiers(), m1.getModifiers());			return +1;		}		return 0;	}