for (Object object : l) { iQuery.evict(object); }
	public Set findContainerHierarchies(@NotNull Class rootNodeType,             @NotNull @Validate(Integer.class) Set imageIds, Map options) {				PojoOptions po = new PojoOptions(options);                Query q = queryFactory.lookup(                PojosFindHierarchiesQueryDefinition.class.getName(),                PojosQP.klass(rootNodeType),                PojosQP.ids(imageIds),                PojosQP.options(po.map()));        List l = (List) iQuery.execute(q);        collectCounts(l,po);                // TODO; this if-else statement could be removed if Transformations         // did their own dispatching         // TODO: logging, null checking. daos should never return null         // TODO then size!		if (Project.class.equals(rootNodeType)) {			if (imageIds.size()==0){				return new HashSet();			}			return HierarchyTransformations.invertPDI(new HashSet(l)); 					}		else if (CategoryGroup.class.equals(rootNodeType)){			if (imageIds.size()==0){				return new HashSet();			}						return HierarchyTransformations.invertCGCI(new HashSet(l)); 		}				else {throw new IllegalArgumentException(	                "Class parameter for findContainerHierarchies() must be" +                    " in {Project,CategoryGroup}, not " + rootNodeType);		}			}