protected void assertDifferencesEquals(
     EquivalenceMap ecoreComparator,
     URI leftURI,
     URI rightURI,
     Set<EcoreDifference> expectedDifferences) {
   List<EcoreDifference> actualDifferences = ecoreComparator.computeDifferences();
   List<EcoreDifference> extraDifferences = new ArrayList<EcoreDifference>();
   for (EcoreDifference expectedDifference : expectedDifferences) {
     EcoreDifference gotIt = null;
     for (EcoreDifference actualDifference : actualDifferences) {
       if (expectedDifference.isSameLeftElseRight(actualDifference)) gotIt = actualDifference;
     }
     if (gotIt != null) actualDifferences.remove(gotIt);
     else extraDifferences.add(expectedDifference);
   }
   Collections.sort(actualDifferences);
   Collections.sort(extraDifferences);
   StringBuffer s = null;
   s = checkDifferences(s, " missing ", leftURI, rightURI, actualDifferences);
   s = checkDifferences(s, " extra ", leftURI, rightURI, extraDifferences);
   if (s != null) fail(s.toString());
 }