if (index == row) {
if (index == rowIndex) {
void keyDown(Event event) {	if (table.getItemCount() == 0) return;	switch (event.character) {		case SWT.CR :			notifyListeners(SWT.DefaultSelection, new Event());			return;	}	switch (event.keyCode) {		case SWT.ARROW_UP :			setRowColumn(Math.max(0, row - 1), column, true);			break;		case SWT.ARROW_DOWN :			setRowColumn(Math.min(row + 1,table.getItemCount() - 1), column, true);			break;        case SWT.ARROW_LEFT :        case SWT.ARROW_RIGHT :        	{			        int leadKey = (getStyle() & SWT.RIGHT_TO_LEFT) != 0 ? SWT.ARROW_RIGHT : SWT.ARROW_LEFT;		        if (event.keyCode == leadKey) {		           setRowColumn(row, Math.max(0, column - 1), true);		        } else {		           setRowColumn(row, Math.min(table.getColumnCount() - 1, column + 1), true);		        }		        break;        	}		case SWT.HOME :			setRowColumn(0, column, true);			break;		case SWT.END :			{				int i = table.getItemCount() - 1;				setRowColumn(i, column, true);				break;			}		case SWT.PAGE_UP :			{				int index = table.getTopIndex();				if (index == row) {					Rectangle rect = table.getClientArea();					TableItem item = table.getItem(index);					Rectangle itemRect = item.getBounds(0);					rect.height -= itemRect.y;					int height = table.getItemHeight();					int page = Math.max(1, rect.height / height);					index = Math.max(0, index - page + 1);				}				setRowColumn(index, column, true);				break;			}		case SWT.PAGE_DOWN :			{				int index = table.getTopIndex();				Rectangle rect = table.getClientArea();				TableItem item = table.getItem(index);				Rectangle itemRect = item.getBounds(0);				rect.height -= itemRect.y;				int height = table.getItemHeight();				int page = Math.max(1, rect.height / height);				int end = table.getItemCount() - 1;				index = Math.min(end, index + page - 1);				if (index == row) {					index = Math.min(end, index + page - 1);				}				setRowColumn(index, column, true);				break;			}	}}