mb.appendCallVirtual("java.lang.Object.getClass",
"()Ljava/lang/Class;");
mb.appendCallVirtual("java.lang.Class.getName", "()Ljava/lang/String;");
mb.appendCallInterface(GETMARSHALLER_METHOD, GETMARSHALLER_SIGNATURE);
mb.appendDUP();
mb.appendLoadConstant(getMappingName());
mb.appendCallInterface(CHECKEXTENDS_FULLNAME, CHECKEXTENDS_SIGNATURE);
BranchWrapper ifvalid = mb.appendIFNE(this);
// generate and throw exception describing the problem
mb.appendCreateNew("java.lang.StringBuffer");