Object[] findValues(int ordinal) {
        return getAllValues(ordinal, type, 0);
    }
@Test
    public void testListIntegerReference() throws Exception {
        ListType listType = new ListType();
        listType.intValues = Arrays.asList(1, 2, 3);

        objectMapper.add(listType);
        StateEngineRoundTripper.roundTripSnapshot(writeStateEngine, readStateEngine);

        FieldPath fieldPath;
        Object[] values;

        //with partial auto expand
        fieldPath = new FieldPath(readStateEngine, "ListType", "intValues.element");
        values = fieldPath.findValues(0);
        Assert.assertEquals(1, (int) values[0]);
        Assert.assertEquals(2, (int) values[1]);
        Assert.assertEquals(3, (int) values[2]);

        //with auto expand but full path given
        fieldPath = new FieldPath(readStateEngine, "ListType", "intValues.element.value");
        values = fieldPath.findValues(0);
        Assert.assertEquals(1, (int) values[0]);
        Assert.assertEquals(2, (int) values[1]);
        Assert.assertEquals(3, (int) values[2]);

        //without auto expand but full path given
        fieldPath = new FieldPath(readStateEngine, "ListType", "intValues.element.value", false);
        values = fieldPath.findValues(0);
        Assert.assertEquals(1, (int) values[0]);
        Assert.assertEquals(2, (int) values[1]);
        Assert.assertEquals(3, (int) values[2]);
    }