mv.visitMethodInsn(INVOKESTATIC,
clsName,
"class$",
"(Ljava/lang/String;)Ljava/lang/Class;");
mv.visitInsn(DUP);
mv.visitFieldInsn(PUTSTATIC, clsName, fieldName, "Ljava/lang/Class;");
Label endLabel = new Label();
mv.visitJumpInsn(GOTO, endLabel);
mv.visitLabel(elseLabel);
mv.visitFieldInsn(GETSTATIC, clsName, fieldName, "Ljava/lang/Class;");
mv.visitLabel(endLabel);