I don't understand why this test is necessary.  Is it because the DirCacheBuilder is giving you 3 records for a file with a merge conflict?  Or is something else going on?  If its necessary, I would appreciate some comment to help explain this condition, because it just doesn't make sense to me.