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 + "->");
		}

	}
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
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 .