@Override
    public Iterator<Object> iterateObjects() {
        return new CompositeObjectIterator(concreteStores, true);
    }
@Test
    public void queryBySuperTypeFindsSubType() throws Exception {
        insertObjectWithFactHandle(new SubClass());
        insertObjectWithFactHandle(new SuperClass());

        Collection<Object> result = collect(underTest.iterateObjects(SuperClass.class));

        assertThat(result).hasSize(2);
        assertThat(result).hasAtLeastOneElementOfType(SubClass.class);
        assertThat(result).hasAtLeastOneElementOfType(SuperClass.class);
    }