elk-util-parent/elk-util-collections/src/main/java/org/semanticweb/elk/util/collections/Operations.java
public static <K, V> void dumpDiff(Multimap<K, V> first,
			Multimap<K, V> second, Writer writer, String prefix)
			throws IOException {
		for (K key : first.keySet()) {
			Collection<V> firstValues = first.get(key);
			Collection<V> secondValues = second.get(key);
			dumpDiff(firstValues, secondValues, writer, prefix + key + "->");
		}

	}
public static <K, V> void dumpDiff(Multimap<K, V> first,
			Multimap<K, V> second, Writer writer, String prefix)
			throws IOException {
		for (K key : first.keySet()) {
			Collection<V> firstValues = first.get(key);
			Collection<V> secondValues = second.get(key);
			dumpDiff(firstValues, secondValues, writer, prefix + key + "->");
		}

	}
Prints key-value entries present in the first {@link Multimap} but not in
the second {@link Multimap} using the given {@link Writer} and prefixing
all messages with a given prefix.

@param first
@param second
@param writer
@param prefix
@throws IOException