SourceSelectionChangedListener<ModelData>

why not?

SourceSelectionChangedListener<M extends ModelData>

class: SelectionService
method: public void register(SelectionProvider<ModelData> provider) {

public void register(SelectionProvider<? extends ModelData> provider) {