obj.fieldA = fieldA;
TestArrayElementInterceptor.clear();
fieldA[2][1][2][3] = "X";
assertEquals(1, TestArrayElementInterceptor.owners.size());
ArrayReference reference = TestArrayElementInterceptor.owners.get(0);
assertEquals(obj, reference.getRootObject());
assertEquals("fieldA", reference.getRootField());
assertEquals(3, reference.getNestedArrayIndices().size());
assertEquals(new Integer(2), reference.getNestedArrayIndices().get(0));
assertEquals(new Integer(1), reference.getNestedArrayIndices().get(1));
assertEquals(new Integer(2), reference.getNestedArrayIndices().get(2));
//TODO For an ObjectArrayElementInvocation, where the value is an array belonging to a registered array,
//should the references be updated at the end of the invocation, or in the weaving as is done at present?
}