I am trying to add a Field and Annotation, but when I try to set the value, I get this error `object.must.be.indirect.to.work.with.this.wrapper`. This error occurs regardless of which field is set, or where it is set, it seems. Does anyone know how to get around this error?

Here is the sample code that is causing my problem:

```
public class HelloWorld {

    public static final String DEST = "sampleOutput.pdf";
    public static final String SRC = "sample.pdf";
    public static void main(String args[]) throws IOException {
        new HelloWorld().createPdf(SRC, DEST);
    }

    public void createPdf(String src, String dest) throws IOException {

        //Initialize PDF reader and writer
        PdfReader reader = new PdfReader(src);
        PdfWriter writer = new PdfWriter(dest);

        //Initialize PDF document
        PdfDocument pdf = new PdfDocument(reader, writer);

        // Initialize document
        Document document = new Document(pdf);

        HelloWorld.addAcroForm(pdf, document);

        //Close document
        document.close();
    }

    public static PdfAcroForm addAcroForm(PdfDocument pdf, Document doc) throws IOException {
        int numPages = pdf.getNumberOfPages();
        PdfAcroForm form = PdfAcroForm.getAcroForm(pdf, true);

        PdfTextFormField confField = PdfFormField.createText(pdf);
        confField.setFieldName("confirmation");

        PdfSignatureFormField sigField = PdfFormField.createSignature(pdf);
        sigField.setFieldName("signature");

        PdfWidgetAnnotation firstPageConf = new PdfWidgetAnnotation(new Rectangle(0, 0, 425, 15));
        PdfWidgetAnnotation pageConf = new PdfWidgetAnnotation(new Rectangle(0, 0, 425, 15));
        PdfWidgetAnnotation signature = new PdfWidgetAnnotation(new Rectangle(0, 100, 425, 15));

        //add conf annotation based on first page or not
        for (int i = 1; i <= numPages; i++) {
            PdfPage page = pdf.getPage(i);

            if (i == 1) {
                page.addAnnotation(firstPageConf);
            } else {
                page.addAnnotation(pageConf);
            }
        }

        form.addField(confField);
        form.addField(sigField);        

        confField.addKid(firstPageConf);
        confField.addKid(pageConf);

        sigField.addKid(signature);   

        //this one is different because we try to set a value....
        PdfTextFormField testField = PdfFormField.createText(pdf);
        testField.setFieldName("test");
        PdfWidgetAnnotation test = new PdfWidgetAnnotation(new Rectangle(0, 100, 425, 15));
        pdf.getPage(1).addAnnotation(test);
        testField.addKid(test);
        testField.setValue("testValue");//error 'object.must.be.indirect.to.work.with.this.wrapper' occurs here

        return form;

    }
}

```