because you skip cleanUp() in case of inCore the attribute modifiedFiles may still be filled wrongly. When the incore-merge fails for whatever reason should clean the modifiedFiles list. Maybe it is better to modifiy cleanup() to do only that in case of an incore.