protected StringFieldValue getAnnotatedString() {
        StringFieldValue text = new StringFieldValue("help me help me i'm stuck inside a computer!");
        {
            AlternateSpanList alternateSpanList = new AlternateSpanList();
            SpanTree tree = new SpanTree("ballooo", alternateSpanList);
            text.setSpanTree(tree);

            Span s1 = new Span(1, 2);
            Span s2 = new Span(3, 4);
            Span s3 = new Span(4, 5);
            alternateSpanList.add(s1).add(s2).add(s3);
            AlternateSpanList s4 = new AlternateSpanList();
            Span s5 = new Span(7, 8);
            Span s6 = new Span(8, 9);
            s4.add(s5).add(s6);
            alternateSpanList.add(s4);

            tree.annotate(s2, dummy);
            tree.annotate(s2, new Annotation(number, new IntegerFieldValue(1234)));

            Struct mother = new Struct(person);
            mother.setFieldValue("firstname", "jenny");
            mother.setFieldValue("lastname", "olsen");
            mother.setFieldValue("birthyear", 1909);
            Annotation motherA = new Annotation(personA, mother);
            tree.annotate(s2, motherA);

            Struct daughter = new Struct(relative);
            daughter.setFieldValue("title", "daughter");
            daughter.setFieldValue("related", new AnnotationReference(personReference, motherA));
            tree.annotate(s6, new Annotation(relativeA, daughter));

            tree.annotate(s1, dummy);
            tree.annotate(s3, dummy);
            tree.annotate(s3, new Annotation(number, new IntegerFieldValue(2344)));
            tree.annotate(s5, dummy);

            List<SpanNode> alternateChildren = new ArrayList<>();
            Span s7 = new Span(1, 4);
            Span s8 = new Span(1, 9);
            Span s9 = new Span(5, 6);
            alternateChildren.add(s7);
            alternateChildren.add(s8);
            alternateChildren.add(s9);

            alternateSpanList.addChildren(alternateChildren, 5.55);
        }
        {
            SpanList root = new SpanList();
            SpanTree tree = new SpanTree("fruits", root);
            text.setSpanTree(tree);


            Span s1 = new Span(5, 6);
            Span s2 = new Span(11, 3);
            Span s3 = new Span(14, 7);
            root.add(s1).add(s2).add(s3);

            tree.annotate(s1, banana);
            tree.annotate(s1, grape);
            tree.annotate(s2, banana);
            tree.annotate(s3, apple);
            tree.annotate(s3, grape);
            tree.annotate(s3, grape);

            SpanList s4 = new SpanList();
            Span s5 = new Span(23,1);
            s4.add(s5);
            root.add(s4);

            tree.annotate(s4, grape);
            tree.annotate(s5, apple);
        }
        return text;
    }
@author <a href="mailto:einarmr@yahoo-inc.com">Einar M R Rosenvinge</a>
document/src/test/java/com/yahoo/document/annotation/AbstractTypesTest.java