public static <T> void dumpDiff(Collection<T> first, Collection<T> second,
			Writer writer, String prefix) throws IOException {
		for (T element : first)
			if (!second.contains(element))
				writer.append(prefix + element + "\n");
	}
public static <T> void dumpDiff(Collection<T> first, Collection<T> second,
			Writer writer, String prefix) throws IOException {
		for (T element : first)
			if (!second.contains(element))
				writer.append(prefix + element + "\n");
	}
public static < T > void dumpDiff ( Collection < T > first , Collection < T > second , Writer writer , String prefix ) throws IOException { for ( T element : first ) if ( ! second . contains ( element ) ) writer . append ( prefix + element + "\n" ) ; }
Prints the elements present in the first {@link Collection} but not in
the second {@link Collection} using the given {@link Writer} and
prefixing all messages with a given prefix.

@param first
@param second
@param writer
@param prefix
@throws IOException
Prints the elements present in the first { @link Collection } but not in the second { @link Collection } using the given { @link Writer } and prefixing all messages with a given prefix .