*    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
 *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
 * </ul>
 */
public void remove (int start, int end) {
	checkWidget ();
	if (start > end) return;
	if (!(0 <= start && start <= end && end < itemsCount)) {
		SWT.error (SWT.ERROR_INVALID_RANGE);
	}
	if (start == 0 && end == itemsCount - 1) {
		removeAll ();
	} else {
		for (int i = end; i >= start; i--) {
			items [i].dispose ();
		}
		
		int[] eventData = new int[5];
		eventData[0] = ACC.DELETE;
		eventData[1] = start;
		eventData[2] = end - start + 1;
		eventData[3] = 0;
		eventData[4] = 0;
		getAccessible().sendEvent(ACC.EVENT_TABLE_CHANGED, eventData);

	}
}