List<LevenshteinDistance.EditChoice> editPath = levenshtein.getEditPath();
int i=0;
int j=0;
for (LevenshteinDistance.EditChoice c: editPath) {
final APath elPath = path.withElementChild (j, worker.getIdentifierExtractor().uniqueIdentifier (oldColl.get (j), elementTypes.source (), elementTypes.target ()));
switch (c) {
case replace:
case noOp: {
worker.diff (elPath, oldColl.get (j), newColl.get (i), elementTypes, contextOld, contextNew, isDerived);
i++;