// In addition to the types of the result resources, get the types of their ancestry
typesSet.addAll(getAncestryTypeIds(ancestries));
ResourceTypeCriteria resourceTypeCriteria = new ResourceTypeCriteria();
resourceTypeCriteria.addFilterIds(typesSet.toArray(new Integer[typesSet.size()]));
resourceTypeCriteria.addFilterIgnored(null); // don't worry if they are ignored or not, get the ancestry anyway
List<ResourceType> types = typeManager.findResourceTypesByCriteria(subject, resourceTypeCriteria);
for (Resource resource : resources) {
String decodedAncestry = getDecodedAncestry(resource, types, format);