Changed selectionModel and singleSelectionModel to be generic