}
@Override
public void startup(Display display, Map<String, String> properties) {
ArrayList<Span> selectedRanges = new ArrayList<Span>();
selectedRanges.add(new Span(0, 0));
listView.setSelectedRanges(selectedRanges);
dumpSelection();
listView.addSelectedRange(new Span(4, 4));
dumpSelection();
listView.addSelectedRange(new Span(2, 2));
dumpSelection();
listView.addSelectedRange(new Span(0, 4));
dumpSelection();
selectedRanges.clear();
selectedRanges.add(new Span(1, 1));
selectedRanges.add(new Span(3, 3));
listView.setSelectedRanges(selectedRanges);
dumpSelection();
listView.addSelectedRange(new Span(0, 4));
dumpSelection();
listView.removeSelectedRange(new Span(2, 2));
dumpSelection();
listView.removeSelectedRange(new Span(4, 4));
dumpSelection();
listView.removeSelectedRange(new Span(0, 0));
dumpSelection();
listView.removeSelectedRange(new Span(1, 3));
dumpSelection();
selectedRanges.clear();
selectedRanges.add(new Span(4, 6));
listView.setSelectedRanges(selectedRanges);
dumpSelection();
listView.addSelectedRange(new Span(2, 5));
dumpSelection();
listView.addSelectedRange(new Span(4, 8));
dumpSelection();
verifySelection(0);
verifySelection(4);
verifySelection(6);
verifySelection(8);
listView.removeSelectedRange(new Span(8, 12));
dumpSelection();
verifySelection(8);
listView.removeSelectedRange(new Span(0, 4));
dumpSelection();
verifySelection(4);
listView.getListViewSelectionListeners().add(new ListViewSelectionListener() {
@Override