I think the comment is incomplete for IOException.  Other reasons are we cannot read one of the blobs in order to generate the edit list.  Typically we document those by adding CorruptObjectException and MissingObjectException to the throws clauses, and to the javadoc.  I missed that on the original formatting code when I moved it here.  *sigh*