IMHO this is a mess for an application to parse.

For this high-level of our API we should have this be a lot easier to work with.  Its a ton more code, but application developers would appreciate something cleaner than a Map of int arrays of int arrays. Just saying it is painful.

We should do a FileConflictInfo object that is the value of this map, so we have Map<String /* path */, FileConflictInfo>.

The FileConflictInfo can then have a List<ConflictHunk> to describe all of the hunks that are conflicting.

Each ConflictHunk can then provide more detail about the range that is conflicting for each parent that was put in.