@Override
public Object retrieve(Object target, String[] query, int index) throws QueryException {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("retrieve collection: {}/{} type:{}", index, query.length,
target.getClass());
}
explore();
Collection<?> c = (Collection<?>) target;
Iterator<?> it = c.iterator();
List<Object> objects = new ArrayList<Object>();
while (it.hasNext()) {
Object item = it.next();
for (TypeInfo child : _types.values()) {
Object val = child.retrieve(item, query, index);
if (val != null) {
objects.add(val);
}
}
}
return objects;
}