void clear (int index, boolean recursive) {
public void clear (int index, boolean recursive) {
/*public*/ void clear (int index, boolean recursive) {	checkWidget ();	if (!(0 <= index && index < items.length)) error (SWT.ERROR_INVALID_RANGE);	TreeItem item = items [index];		/* if there are no columns then the horizontal scrollbar may need adjusting */	TreeItem[] availableDescendents = null;	int oldRightX = 0;	if (columns.length == 0) {		if (recursive) {			availableDescendents = item.computeAvailableDescendents ();			for (int i = 0; i < availableDescendents.length; i++) {				Rectangle bounds = availableDescendents [i].getBounds (false);				oldRightX = Math.max (oldRightX, bounds.x + bounds.width);			}		} else {			Rectangle bounds = item.getBounds (false);			oldRightX = bounds.x + bounds.width;		}	}		/* clear the item(s) */	item.clear ();	if (recursive) {		item.clearAll (true, false);	}	/* adjust the horizontal scrollbar if needed */	if (columns.length == 0) {		int newRightX = 0;		if (recursive) {			for (int i = 0; i < availableDescendents.length; i++) {				Rectangle bounds = availableDescendents [i].getBounds (false);				newRightX = Math.max (newRightX, bounds.x + bounds.width);			}		} else {			Rectangle bounds = item.getBounds (false);			newRightX = bounds.x + bounds.width;		}		updateHorizontalBar (newRightX, newRightX - oldRightX);	}		/* redraw the item(s) */	if (recursive && item.expanded) {		int descendentCount = availableDescendents == null ?			item.computeAvailableDescendentCount () :			availableDescendents.length;		redrawItems (item.availableIndex, item.availableIndex + descendentCount - 1, false);	} else {		redrawItem (item.availableIndex, false);	}}