private void deselect(final int index,final boolean shouldFireEvents){
  checkWidget();
  if (index < 0 || index >= items.size()) {
    return;
  }
  final DLItem item=selection.remove(index);
  if (shouldFireEvents) {
    fireSelectionEvent(item);
  }
  final List<DLItem> deselectedItems=new ArrayList<DLItem>();
  item.setLastAction(LAST_ACTION.DESELECTION);
  deselectedItems.add(item);
  if (shouldFireEvents) {
    fireSelectionChangeEvent(deselectedItems);
  }
  redrawTables();
}

private void deselect ( final int index , final boolean shouldFireEvents ) { checkWidget ( ) ; if ( index < 0 || index >= items . size ( ) ) { return ; } final DLItem item = selection . remove ( index ) ; if ( shouldFireEvents ) { fireSelectionEvent ( item ) ; } final List < DLItem > deselectedItems = new ArrayList < DLItem > ( ) ; item . setLastAction ( LAST_ACTION . DESELECTION ) ; deselectedItems . add ( item ) ; if ( shouldFireEvents ) { fireSelectionChangeEvent ( deselectedItems ) ; } redrawTables ( ) ; }
deselects the item at the given zero - relative index in the receiver . if the item at the index was already deselected , it remains deselected . indices that are out of range are ignored .
