Gets the number of items available for the selection model. If the number
of items can change dynamically, it is the responsibility of the
concrete SingleSelectionModel implementation to ensure that items are
selected or unselected as appropriate as the items change.
Selects the given row. Since the SingleSelectionModel can only support having
a single row selected at a time, this also causes any previously selected
row to be unselected.
This method is overridden here so that we can move past a Separator
in a ChoiceBox and select the next valid menuitem.