final ACollectionHelper h = worker.getHelpers();
final Collection<Object> sourceOldColl = h.asJuCollection(sourceOld, types.source());
final Collection<Object> sourceNewColl = h.asJuCollection(sourceNew, types.target());
final AQualifiedSourceAndTargetType elementTypes = new AQualifiedSourceAndTargetType(h.elementType(types.sourceType), types.sourceQualifier, h.elementType(types.targetType), types.targetQualifier);
final AQualifiedSourceAndTargetType sourceTypes = new AQualifiedSourceAndTargetType(types.sourceType, types.sourceQualifier, types.sourceType, types.sourceQualifier);
final Equiv equiv = new Equiv(sourceOldColl, sourceNewColl, sourceTypes, worker.getIdentifierExtractor());
// elements present in both old and new collection: no difference as far as the collection is concerned, recursive diff
for(Map.Entry<Object,Object> e: equiv.equiv.entrySet()) {