private void scrollSelectionIntoViewInternal() {
		Selection selection = mModel.getSelection();
		int first = selection.nextSelectedIndex(getFirstRowToDisplay());
		int max = getLastRowToDisplay();

		if (first != -1 && first <= max) {
			Rectangle bounds = getRowIndexBounds(first);
			int tmp = first;
			int last;

			do {
				last = tmp;
				tmp = selection.nextSelectedIndex(last + 1);
			} while (tmp != -1 && tmp <= max);

			if (first != last) {
				bounds = Geometry.union(bounds, getRowIndexBounds(last));
			}
			scrollRectToVisible(bounds);
		}
	}