@Override
    public T getHollowObject(int ordinal) {
        List<T> refCachedItems = cachedItems;
        if (refCachedItems == null) {
            throw new IllegalStateException(String.format("HollowObjectCacheProvider for type %s has been detached or was not initialized", typeReadState == null ? null : typeReadState.getSchema().getName()));
        }
        if (refCachedItems.size() <= ordinal) {
            throw new IllegalStateException(String.format("Ordinal %s is out of bounds for pojo cache array of size %s.", ordinal, refCachedItems.size()));
        }
        return refCachedItems.get(ordinal);
    }
@Test
    public void preExisting() {
        TypeA a0 = typeA(0);
        TypeA a1 = typeA(1);
        TypeA a2 = typeA(2);


        prepopulate(a0, a1, a2);

        assertEquals(a0, subject.get().getHollowObject(a0.ordinal));
        assertEquals(a1, subject.get().getHollowObject(a1.ordinal));
        assertEquals(a2, subject.get().getHollowObject(a2.ordinal));
    }