getHeader().widthChange(columnIndex, widthChange);
void columnChange(TableColumn column, Rectangle newBounds) {	Rectangle columnBounds = column.getBounds();	Rectangle clientArea = getClientArea();	int oldXPosition = columnBounds.x + columnBounds.width; 	int newXPosition = newBounds.x + newBounds.width;	int widthChange = newBounds.width - columnBounds.width;	int headerHeight = getHeaderHeight();	int columnIndex = column.getIndex();	if (widthChange != 0) {		if (columnIndex != TableColumn.FILL) {			if (getLinesVisible() == true) {				oldXPosition -= getGridLineWidth();						// include vertical grid line when scrolling resized column.				newXPosition -= getGridLineWidth();			}			scroll(														// physically move all following columns				newXPosition, headerHeight, 							// destination x, y				oldXPosition, headerHeight, 							// source x, y				clientArea.width, clientArea.height, true);		}		column.internalSetBounds(newBounds);		if (columnIndex != TableColumn.FILL) {			resetTableItems(columnIndex);			moveColumns(columnIndex + 1, widthChange);					// logically move all following columns	(set their bounds)			setContentWidth(getContentWidth() + widthChange);			// set the width of the receiver's content			claimRightFreeSpace();			resizeRedraw(column, columnBounds.width, newBounds.width);		}	}	getHeader().widthChange(columnIndex, widthChange);}