protected void paintContent(int x, int y, int leftBorder, int rightBorder,
protected void paintContent(Item parentItm, int x, int y, int leftBorder, int rightBorder,
	protected void paintContent(int x, int y, int leftBorder, int rightBorder,			Graphics g) 	{		//#debug		System.out.println("HorizontalView.start: x=" + x + ", y=" + y + ", leftBorder=" + leftBorder + ", rightBorder=" + rightBorder );		this.xStart = x;		int modifiedX = x;		//#ifdef polish.css.horizontalview-expand-background			if (this.expandBackground && this.background != null && this.focusedItem != null) {				this.focusedItem.background = null;				this.background.paint(x, y, this.contentWidth, this.contentHeight, g);			}		//#endif		//#ifdef polish.css.horizontalview-arrow-position			if (this.arrowPosition == POSITION_BOTH_SIDES ) {		//#endif				modifiedX += this.arrowWidth + this.paddingHorizontal;				leftBorder += this.arrowWidth + this.paddingHorizontal;		//#ifdef polish.css.horizontalview-arrow-position			} else if (this.arrowPosition == POSITION_LEFT ) {				modifiedX += (this.arrowWidth + this.paddingHorizontal) << 1;				leftBorder += (this.arrowWidth + this.paddingHorizontal) << 1;			}		//#endif							//#ifdef polish.css.horizontalview-arrow-position			if (this.arrowPosition == POSITION_BOTH_SIDES ) {		//#endif				rightBorder -= this.arrowWidth + this.paddingHorizontal;		//#ifdef polish.css.horizontalview-arrow-position			} else if (this.arrowPosition == POSITION_RIGHT ) {				rightBorder -= (this.arrowWidth + this.paddingHorizontal) << 1;			}		//#endif				//#debug		System.out.println("HorizontalChoiceView.item: x=" + modifiedX + ", y=" + y + ", leftBorder=" + leftBorder + ", rightBorder=" + rightBorder + ", availableWidth=" + (rightBorder - leftBorder) + ", itemWidth=" + this.focusedItem.itemWidth  );						int clipX = g.getClipX();		int clipY = g.getClipY();		int clipWidth = g.getClipWidth();		int clipHeight = g.getClipHeight();		boolean setClip = this.contentWidth > rightBorder - leftBorder;		if (setClip) {			g.clipRect(modifiedX, clipY, rightBorder - modifiedX, clipHeight );		}				int itemX = modifiedX + this.xOffset;		int focusedX = 0;		int cHeight = this.contentHeight;		int vOffset = 0;		Item[] items = this.parentContainer.getItems();		for (int i = 0; i < items.length; i++) {			Item item = items[i];			if ( item == this.focusedItem ) {				focusedX = itemX;							} else {				//TODO allow explicit setting of top, vcenter and bottom for items (=layout)				vOffset = (cHeight - item.itemHeight) / 2;				item.paint(itemX, y + vOffset, leftBorder, rightBorder, g);			}			itemX += item.itemWidth + this.paddingHorizontal;		}		if (this.focusedItem != null) {			vOffset = (cHeight - this.focusedItem.itemHeight) / 2;			this.focusedItem.paint(focusedX, y + vOffset, leftBorder, rightBorder, g);					}		if (setClip) {			g.setClip( clipX, clipY, clipWidth, clipHeight );		}		//#ifdef polish.css.horizontalview-arrow-position			if (this.arrowPosition != POSITION_NONE ) {		//#endif		g.setColor( this.arrowColor );		//draw left arrow:		//#ifdef polish.css.horizontalview-roundtrip			if (this.allowRoundTrip || this.currentItemIndex > 0) {		//#else			//# if (this.currentItemIndex > 0) {		//#endif			// draw left arrow			int startX = x + this.leftArrowStartX;			Image image = null;			//#if polish.css.horizontalview-arrows-image				image = this.arrowsImage;				vOffset = this.yOffset;			//#endif						//#ifdef polish.css.horizontalview-left-arrow				if (image == null) {					image = this.leftArrow;					vOffset = this.leftYOffset;				}			//#endif			if (image != null) {				//System.out.println("Drawing left IMAGE arrow at " + startX );				g.drawImage( image, startX, y + vOffset, Graphics.LEFT | Graphics.TOP );			} else {				//#if polish.midp2					//System.out.println("Drawing left triangle arrow at " + startX );					g.fillTriangle( 							startX, y + this.contentHeight/2, 							startX + this.arrowWidth, y,							startX + this.arrowWidth, y + this.contentHeight );				//#else					int y1 = y + this.contentHeight / 2;					int x2 = startX + this.arrowWidth;					int y3 = y + this.contentHeight;					g.drawLine( startX, y1, x2, y );					g.drawLine( startX, y1, x2, y3 );					g.drawLine( x2, y, x2, y3 );				//#endif			}		}				// draw right arrow:		//#if polish.css.horizontalview-arrows-image			if (this.arrowsImage != null) {				return;			}		//#endif		//#ifdef polish.css.horizontalview-roundtrip			if (this.allowRoundTrip ||  (this.currentItemIndex < this.parentContainer.size() - 1) ) {		//#else			//# if (this.currentItemIndex < this.parentContainer.size() - 1) {		//#endif			// draw right arrow			int startX = x + this.rightArrowStartX;				//#ifdef polish.css.horizontalview-right-arrow				if (this.rightArrow != null) {					g.drawImage( this.rightArrow, startX, y + this.rightYOffset, Graphics.LEFT | Graphics.TOP );				} else {			//#endif				//#if polish.midp2					g.fillTriangle( 							startX + this.arrowWidth, y + this.contentHeight/2, 							startX, y,							startX, y + this.contentHeight );				//#else					int y1 = y + this.contentHeight / 2;					int x2 = startX + this.arrowWidth;					int y3 = y + this.contentHeight;					g.drawLine( x2, y1, startX, y );					g.drawLine( x2, y1, startX, y3 );					g.drawLine( startX, y, startX, y3 );				//#endif			//#ifdef polish.css.horizontalview-right-arrow				}			//#endif		}					//#ifdef polish.css.horizontalview-arrow-position			} // if (this.arrowPosition != POSITION_NONE ) {		//#endif	}