if (indices == null) error (SWT.ERROR_NULL_ARGUMENT); int [] newIndices = new int [indices.length]; System.arraycopy (indices, 0, newIndices, 0, indices.length); sort (newIndices); int last = -1; for (int i=0; i<newIndices.length; i++) { int index = newIndices [i]; if (index != last || i == 0) { OS.gtk_list_store_remove(modelHandle, items[index].handle);  items [index].releaseResources (); System.arraycopy (items, index + 1, items, index, --itemCount - index); items [itemCount] = null; last = index; } }
if (!(0 <= index && index <= itemCount)) error (SWT.ERROR_ITEM_NOT_REMOVED); TableItem item = items[index]; OS.gtk_list_store_remove(modelHandle, item.handle); OS.g_free(item.handle); System.arraycopy (items, index + 1, items, index, --itemCount - index); items [itemCount] = null; item.releaseResources ();
public void remove (int [] indices) {	checkWidget();	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);	int [] newIndices = new int [indices.length];	System.arraycopy (indices, 0, newIndices, 0, indices.length);	sort (newIndices);	int last = -1;	for (int i=0; i<newIndices.length; i++) {		int index = newIndices [i];		if (index != last || i == 0) {			OS.gtk_list_store_remove(modelHandle, items[index].handle);			// BUG - disposed callback could remove an item			items [index].releaseResources ();			System.arraycopy (items, index + 1, items, index, --itemCount - index);			items [itemCount] = null;			last = index;		}	}}