}
	protected boolean handleKeyPressed(int keyCode, int gameAction) {		if (this.itemsList.size() == 0) {			return false;		}		if (this.focusedItem != null) {			Item item = this.focusedItem;			if ( item.handleKeyPressed(keyCode, gameAction) ) {				if (this.enableScrolling && item.internalX != -9999) {					if ( item.contentY + item.internalY + item.internalHeight > this.yBottom) {						this.yOffset -= ( item.contentY + item.internalY + item.internalHeight - this.yBottom );					} else if ( item.contentY + item.internalY < this.yTop ) {						this.yOffset += ( this.yTop - (item.contentY + item.internalY  )); 					}				}				return true;			}					}		boolean processed = false;		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 = this.focusedIndex / this.numberOfColumns;				if (currentRow < this.numberOfRows - 1) {					processed = shiftFocus( true, this.numberOfColumns - 1 );				}			}			if (!processed) {				processed = shiftFocus( true, 0 );			}			if ((!processed) && this.enableScrolling 					&&  (this.yBottomPos + this.yOffset > this.yBottom)) {				// scroll downwards:				this.yOffset -= 10;				processed = true;				//System.out.println("yBottomPos: " + this.yBottomPos + "  yBottom: " + this.yBottom );			}		} 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) {					processed = shiftFocus( false,  -(this.numberOfColumns -1 ));				}			}			if (!processed) {				processed = shiftFocus( false, 0 );			}			if ((!processed) && this.enableScrolling && (this.yOffset < 0)) {				// scroll upwards:				this.yOffset += 10;				if (this.yOffset > 0) {					this.yOffset = 0;				}				processed = true;			}		}		return processed;	}