Object[] findValues(int ordinal) {
        return getAllValues(ordinal, type, 0);
    }
@Test
    public void testMultiFieldReference() throws Exception {
        IntegerReference simpleValue = new IntegerReference();
        simpleValue.id = 3;
        MultiValue multiValue = new MultiValue();
        multiValue.id = 2;
        multiValue.intRef = simpleValue;

        ObjectReferenceToMultiValue referenceToMultiValue = new ObjectReferenceToMultiValue();
        referenceToMultiValue.multiValue = multiValue;
        referenceToMultiValue.refId = 1;

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

        // with auto-expand
        FieldPath fieldPath = new FieldPath(readStateEngine, "ObjectReferenceToMultiValue", "multiValue.intRef");
        Object[] values = fieldPath.findValues(0);
        Assert.assertEquals(3, ((int) values[0]));

        fieldPath = new FieldPath(readStateEngine, "ObjectReferenceToMultiValue", "multiValue.intRef.id.value");
        values = fieldPath.findValues(0);
        Assert.assertEquals(3, ((int) values[0]));

        //without auto-complete but full path given
        fieldPath = new FieldPath(readStateEngine, "ObjectReferenceToMultiValue", "multiValue.intRef.id.value", false);
        values = fieldPath.findValues(0);
        Assert.assertEquals(3, ((int) values[0]));
    }