if (!(methodName.equals("clone")
&& methodSig.equals("()Ljava/lang/Object;")))
continue;
if (false) {
final ConstClass methodClass = methodRef.className();
final String methodClassName = methodClass.asString();
System.out.println(" found invocation of: "
+ methodClassName
+ "." + methodName + methodSig);
}
// check whether next instruction already is a downcast to a
// class implementing PersistenceCapable
final String thisClass = classFile.classNameString();
final Insn checkCastInsn = insn.next();
final boolean needCheckcast;
if (checkCastInsn.opcode() != opc_checkcast) {
needCheckcast = true;
} else {
ConstClass target =
(ConstClass) ((InsnConstOp)checkCastInsn).value();
if (target.asString().equals(thisClass)) {
insn = checkCastInsn;
needCheckcast = false;
} else {
needCheckcast = true;
}