code: public static void compareResults(Map<URL, MatchResult> inputMatches,
                                        Map<URL, MatchResult> inputMatchesAlt) {
  
          MapDifference<URL, MatchResult> diff = Maps.difference(inputMatches, inputMatchesAlt);
          System.out.println("Comparing Match Results Maps");
  
          Map<URL, MatchResult> common = diff.entriesInCommon();
          System.out.println("Entries in common");
          showMapDetails(common);
  
          Map<URL, MatchResult> onlyLeft = diff.entriesOnlyOnLeft();
          System.out.println("Entries only in the left map");
          showMapDetails(common);
  
          Map<URL, MatchResult> onlyRight = diff.entriesOnlyOnRight();
          System.out.println("Entries only in the right map");
          showMapDetails(common);
  
          Map<URL, ValueDifference<MatchResult>> diffValues = diff.entriesDiffering();
          System.out.println("Differing values");
          for (Entry<URL, ValueDifference<MatchResult>> entry : diffValues.entrySet()) {
              MatchResult resultLeft = entry.getValue().leftValue();
              MatchResult resultRight = entry.getValue().rightValue();
  
              System.out.println("Match " + entry.getKey().toString());
              System.out.println("Left value details: ");
              System.out.println("Match explanation: " + resultLeft.getExplanation());
  
              System.out.println("Right value details: ");
              System.out.println("Match explanation: " + resultRight.getExplanation());
          }
  
      }
docs: Given two sets of matches find out the differences
  TODO: Probably useful for others. Place somewhere else. The discovery-api module is an option but it forces to have guava as a dependency, do we want to?
  
  @param inputMatches
  @param inputMatchesAlt