cc.addInterface(classPool.get(FieldProxy.class.getName()));
cc.addField(CtField.make("private Field field;", cc));
CtConstructor constructor = new CtConstructor(new CtClass[]{classPool.get(Field.class.getName())}, cc);
constructor.setBody("{this.field = (Field)$1;}");
cc.addConstructor(constructor);
cc.addMethod(CtMethod.make("public Field field(){return field;}", cc));
cc.addMethod(CtMethod.make(createFieldGetterMethodCode(field), cc));
cc.addMethod(CtMethod.make(createFieldSetterMethodCode(field), cc));