return isInstanceOf(((ArrayType) what).componentType(), ofWhat.substring(1), machine);
} else if (ofWhat.startsWith("L")) {
if (!(what instanceof ClassType)) {
return false;
}
<BUG>ClassType type = findClassType(ofWhat.substring(1, ofWhat.length() - 1), machine);

ClassType whatClassType = (ClassType) what;
do {</BUG>
if (type.equals(whatClassType)) return true;

return isInstanceOf(((ArrayType) what).componentType(), ofWhat.substring(1), machine);
} else if (ofWhat.startsWith("L")) {
if (!(what instanceof ClassType)) {
return false;
}
ReferenceType type = findClassType(ofWhat.substring(1, ofWhat.length() - 1), machine);
ClassType whatClassType = (ClassType) what;
if (type instanceof InterfaceType) {
return whatClassType.allInterfaces().contains((InterfaceType)type);
}
do {
if (type.equals(whatClassType)) return true;
