ResolvedMember[] b = ((Name)other).getDeclaredMethods();
ResolvedMember[] b = other.getDeclaredMethods();
        public final boolean isCoerceableFrom(TypeX o) {            ResolvedTypeX other = o.resolve(world);            if (this.isAssignableFrom(other) || other.isAssignableFrom(this)) {                return true;            }                      if (!this.isInterface() && !other.isInterface()) {                return false;            }            if (this.isFinal() || other.isFinal()) {                return false;            }                        // ??? needs to be Methods, not just declared methods? JLS 5.5 unclear            ResolvedMember[] a = getDeclaredMethods();            ResolvedMember[] b = ((Name)other).getDeclaredMethods();  //??? is this cast always safe            for (int ai = 0, alen = a.length; ai < alen; ai++) {                for (int bi = 0, blen = b.length; bi < blen; bi++) {                    if (! b[bi].isCompatibleWith(a[ai])) return false;                }            }             return true;        }