public void getChildAtPoint(AccessibleControlEvent e) {
			Point point = toControl(e.x, e.y);
			if (columns.length > 0 && point.y < getHeaderHeight ()) { // header cell
				int columnIndex = computeColumnIntersect (point.x, 0);
				if (columnIndex != -1) {
					CTableColumn column = columns [columnIndex];
					e.accessible = column.getAccessible (accessibleTable);
				}
			} else { // item cell
				int columnIndex = columns.length > 0 ? computeColumnIntersect (point.x, 0) : 0;
				if (columnIndex != -1) {
					int rowIndex = (point.y - getHeaderHeight ()) / itemHeight + topIndex;
					if (0 <= rowIndex && rowIndex < itemsCount) {
						if (items [rowIndex].getHitBounds ().contains (point)) {  /* considers the x value */
							e.accessible = items[rowIndex].getAccessible (accessibleTable, columnIndex);
						}
					}
				}
			}
		}