You introduced a condition `if (focusRow != row)`. If this condition is

`true`, then ` _AdaptToSelectedPartition()` no longer called. I am pretty
convinced that this is a real error. The UI will not adopt to the selected
partition anymore, unless the focus row already happens to be the selected
partition.

This is on purpose, if the focusRow is different from the previous the
SetFocusRow send a Selection_change that invoke
_AdaptToSelectedPartition() and all the code replicated in the two switch
cases.