private void deselect(final int[] indices,final boolean shouldFireEvents){
  checkWidget();
  if (indices == null) {
    SWT.error(SWT.ERROR_NULL_ARGUMENT);
  }
  final List<DLItem> toBeRemoved=new ArrayList<DLItem>();
  for (  final int index : indices) {
    if (index < 0 || index >= items.size()) {
      continue;
    }
    toBeRemoved.add(selection.get(index));
  }
  for (  final DLItem item : toBeRemoved) {
    selection.remove(item);
    if (shouldFireEvents) {
      fireSelectionEvent(item);
    }
  }
  if (shouldFireEvents) {
    fireSelectionChangeEvent(toBeRemoved);
  }
  toBeRemoved.clear();
  redrawTables();
}

private void deselect ( final int [ ] indices , final boolean shouldFireEvents ) { checkWidget ( ) ; if ( indices == null ) { SWT . error ( SWT . ERROR_NULL_ARGUMENT ) ; } final List < DLItem > toBeRemoved = new ArrayList < DLItem > ( ) ; for ( final int index : indices ) { if ( index < 0 || index >= items . size ( ) ) { continue ; } toBeRemoved . add ( selection . get ( index ) ) ; } for ( final DLItem item : toBeRemoved ) { selection . remove ( item ) ; if ( shouldFireEvents ) { fireSelectionEvent ( item ) ; } } if ( shouldFireEvents ) { fireSelectionChangeEvent ( toBeRemoved ) ; } toBeRemoved . clear ( ) ; redrawTables ( ) ; }
deselects the items at the given zero - relative indices in the receiver . if the item at the given zero - relative index in the receiver is selected , it is deselected . if the item at the index was not selected , it remains deselected . indices that are out of range and duplicate indices are ignored .
