currClassType,
new ObjectType(currClassName),
    protected void addModuleInstanceField() {        Type currClassType = new ObjectType(currClassName);        FieldGen instanceField =            new FieldGen(cst.ACC_PUBLIC                         | cst.ACC_FINAL                         | cst.ACC_STATIC,                         currClassType,                         MODULE_INSTANCE_FIELD_NAME,                         currPool);        currClass.addField(instanceField.getField());        InstructionList initIL = new InstructionList();        int constrRef = currPool.addMethodref(currClassName,                                              CONSTRUCTOR_STRING,                                              VOID_NO_ARGS_SIG);        int fieldRef = currPool.addFieldref(currClassName,                                            MODULE_INSTANCE_FIELD_NAME,                                            currClassType.getSignature());        initIL.append(new NEW(currPool.addClass(currClassName)));        initIL.append(ic.DUP);        initIL.append(new INVOKESPECIAL(constrRef));        initIL.append(new PUTSTATIC(fieldRef));        initIL.append(ic.RETURN);        MethodGen initMethod =            new MethodGen(cst.ACC_PUBLIC | cst.ACC_STATIC,                          Type.VOID, Type.NO_ARGS, Strings.NONE,                          "<clinit>",                          currClassName,                          initIL,                          currPool);        initMethod.setMaxStack();        currClass.addMethod(initMethod.getMethod());    }