fix some working set view issues

Fixes #9019 
Fixes #8973
Fixes #9032
Fixes #9142
The `suppressRedraw` param here is a bit weird. Before this change, if `suppressRedraw` is `true`, then method does nothing. Seems like caller should detect that and not even call it?

I'm wondering if `_checkForDuplicatesInWorkingTree()` needs to be called when `suppressRedraw` is `true`?