You'd need a specific SelectionModel that would "refuse" to unselect the selected item.
It might be as simple as extending SingleSelectionModel, overriding setSelected(T,boolean) to do nothing when 'selected' is 'false'; or you may have to write your own SelectionModel (inspired by the SingleSelectionModel)
Alternatively, I suppose you could also achieve your goal with a specific EventTranslator that wouldn't toggle the selection on an already selected item (instead of using DefaultSelectionEventManager.createCheckboxManager(), use a new DefaultSelectionEventManager(new MyEventTranslator()); you could possibly wrap a CheckboxEventTranslator and return IGNORE on an already-selected item –event.getDisplay().getSelectionModel().isSelected(event.getValue())– instead of delegating to the CheckboxEventTranslator, which could then only return TOGGLE on an unchecked checkbox)