private void fireRowSelectionChangeNotification() {
		if ( _locked) {
			return;
		}
		Set<RowKey> changedKeys = new HashSet<RowKey>();
		for(RowKey oldKey : _oldRowKeys) {
			if(!isRowSelected(oldKey)) {
				changedKeys.add(oldKey);
			}
		}
		for(RowKey selectedKey : _selectedRowKeys) {
			if ( !_oldRowKeys.contains( selectedKey)) {
				changedKeys.add( selectedKey);
			}
		}
		if(changedKeys.size() != 0) {
			for(SelectionListener listener : _listeners) {
				listener.rowSelectionChanged(this, changedKeys);
			}
		}

		_oldRowKeys = new HashSet<RowKey>(_selectedRowKeys);
	}