GOTO go[] = new GOTO[2];
go[0] = new GOTO(null);
go[1] = new GOTO(null);
il.append(InstructionConstants.ALOAD_0);
il.append(factory.createGetField(className, ClassEnhancer.FN_StateManager, BCELClassEnhancer.OT_StateManager));
BranchInstruction hasStateManager = new IFNONNULL(null);
il.append(hasStateManager);
il.append(InstructionConstants.ALOAD_0);
il.append(InstructionFactory.createLoad((Type)argTypes[1], 1));
il.append(factory.createPutField(className, fieldName, (Type)argTypes[1]));
il.append(go[0]);
hasStateManager.setTarget(il.append(InstructionConstants.ALOAD_0));
il.append(factory.createGetField(className, ClassEnhancer.FN_StateManager, BCELClassEnhancer.OT_StateManager));
il.append(InstructionConstants.ALOAD_0);
il.append(BCELUtils.getBIPUSH(fieldConfig.getFieldId()));
if (cmd.getPersistenceCapableSuperclass() != null)
{