The BackupCursorService lives on the ServiceContext. This means it could return incorrect results, for example:
returns files for collections A and B
returns files for Collection B
In this case, it would still return Collection A's files as the map wasn't cleared.
Keep track of the filenames returned by a backupCursor in BackupCursorService