@Before
    public void buildTree_List() {
        root = new SpanList();
        tree = new SpanTree("test", root);
        branch = new AlternateSpanList();
        span1 = new Span(0, 3);
        span2 = new Span(1, 9);
        span3 = new Span(12, 10);

        span11 = new Span(0, 3);
        span22 = new Span(1, 9);
        span33 = new Span(12, 10);

        an1 = new Annotation(at1, fv1);
        Annotation an2 = new Annotation(at2, fv2);
        Annotation an3 = new Annotation(at3, fv3);
        Annotation an11 = new Annotation(at1, fv11);
        Annotation an22 = new Annotation(at2, fv22);
        Annotation an33 = new Annotation(at3, fv33);

        alternate1 = new SpanList();
        alternate1.add(span3);
        alternate1.add(span2);
        alternate1.add(span1);

        alternate2 = new SpanList();
        alternate2.add(span11);
        alternate2.add(span22);
        alternate2.add(span33);

        tree.annotate(span1, an1);
        tree.annotate(span2, an2);
        tree.annotate(span3, an3);

        tree.annotate(span11, an11);
        tree.annotate(span22, an22);
        tree.annotate(span33, an33);

        subtreeList1 = new ArrayList<SpanNode>();
        subtreeList1.add(alternate1);

        subtreeList2 = new ArrayList<SpanNode>();
        subtreeList2.add(alternate2);
        branch.clearChildren();
        branch.addChildren(1, subtreeList1, 20.0d);
        branch.addChildren(2, subtreeList2, 50.0d);

        root.add(branch);
    }
@author <a href="mailto:mpraveen@yahoo-inc.com">Praveen Mohan</a>

This test covers all possible scenarios in AlternateSpanList.
If you really want to debug, just turn on the debug flag to true.
document/src/test/java/com/yahoo/document/annotation/AlternateSpanListAdvTestCase.java