if (showItem != null) { table.showItem(showItem); }
if (newTop != -1 && newTop != top) { table.setTopIndex(newTop); }
private void scroll(TableItem item, int x, int y) {	if (item == null) return;	Point coordinates = new Point(x, y);	coordinates = table.toControl(coordinates);	Rectangle area = table.getClientArea();	TableItem showItem = null;	int itemIndex = table.indexOf(item);	if (coordinates.y - area.y < SCROLL_WIDTH) {		showItem = table.getItem(Math.max(0, itemIndex - 1));	} else if ((area.y + area.height - coordinates.y) < SCROLL_WIDTH) {		showItem = table.getItem(Math.min(table.getItemCount() - 1, itemIndex + 1));	}	if (showItem != null) {		table.showItem(showItem);	}	}