code.pushObjectVar(1);
code.putField(thisClassName, factoryField.getName(),
factoryField.getDescriptor());
code.pushObjectVar(0);
code.invokespecial(superClassName, "<init>", "()V", 1, 0);
code.addReturn();
code.close();
createGetDelegateMethod(jClass);
createSerialize(jClass);