if (item == null || column == -1 || item.isDisposed()) return new Rectangle(0, 0, 0, 0);
if (item == null || column == -1 || item.isDisposed() || item.tableItem == null) return new Rectangle(0, 0, 0, 0);
Rectangle computeBounds () {	if (item == null || column == -1 || item.isDisposed()) return new Rectangle(0, 0, 0, 0);		Rectangle cell = item.getBounds(column);	Rectangle editorRect = new Rectangle(cell.x, cell.y, minimumWidth, cell.height);	Rectangle area = tableTree.getClientArea();	if (cell.x < area.x + area.width) {		if (cell.x + cell.width > area.x + area.width) {			cell.width = area.width - cell.x;		}	}		if (grabHorizontal){		editorRect.width = Math.max(cell.width, minimumWidth);	}		if (horizontalAlignment == SWT.RIGHT) {		editorRect.x += cell.width - editorRect.width;	} else if (horizontalAlignment == SWT.LEFT) {		// do nothing - cell.x is the right answer	} else { // default is CENTER		editorRect.x += (cell.width - editorRect.width)/2;	}		return editorRect;}