The following pseudo code scenario is expected to work but fails
This is due to the fact that facet objects are different (between selected ones and recomputed ones) and that equals takes the count into account.
There are two possible fixes:
1. replace selectedFacet with recomputed ones
2. not take count as part of Facet's equality
I think 1. would be impractical especially since Facet reference can float around. So removing count from the equality seems best. However I don't fully understand why Facet.count was part of it in the first place