Patch Set 1: Looks good to me, but someone else must approve

Looks fine to me. What are you going to do about the TODO markers for actual diff output? Just allow the caller to supply you the OutputStream and pass that to the DiffFormatter?