Right now `selectAllPending` can be true when a single row has been deselected.  In that case I think this will incorrectly return all results.  See other comment about figuring out exactly how we want "Select All" and `selectAllPending` to work.