if (currentRow < this.numberOfRows - 1) {
	protected Item getNextItem( int keyCode, int gameAction ) {		Item[] myItems = this.parentContainer.getItems();		if ( (gameAction == Canvas.RIGHT  && keyCode != Canvas.KEY_NUM6) 				|| (gameAction == Canvas.DOWN  && keyCode != Canvas.KEY_NUM8)) {			if (gameAction == Canvas.DOWN && this.columnsSetting != NO_COLUMNS) {				int currentRow = 0;				//#if polish.css.colspan					// iterate over all items to find the correct row:					int column = 0;					for (int i = 0; i <= this.focusedIndex; i++) {						Item item = myItems[i];						column += item.colSpan;						if (column >= this.numberOfColumns) {							currentRow++;							column = 0;						}					}					//System.out.println("currentRow=" + currentRow + ", numberOfRows=" + this.numberOfRows);				//#else					currentRow = this.focusedIndex / this.numberOfColumns;				//#endif				if (currentRow < this.numberOfRows - 1) {					return shiftFocus( true, this.numberOfColumns - 1, myItems );				}			}			return shiftFocus( true, 0, myItems );					} else if ( (gameAction == Canvas.LEFT  && keyCode != Canvas.KEY_NUM4) 				|| (gameAction == Canvas.UP && keyCode != Canvas.KEY_NUM2) ) {			if (gameAction == Canvas.UP && this.columnsSetting != NO_COLUMNS) {				int currentRow = this.focusedIndex / this.numberOfColumns;				if (currentRow > 0) {					return shiftFocus( false,  -(this.numberOfColumns -1 ), myItems);				}			}			return shiftFocus( false, 0, myItems );		}						return null;			}