Debug.debug("intialising item " + this.getClass().getName() );
	protected final void init( int firstLineWidth, int lineWidth ) {		if (this.style != null && !this.isStyleInitialised) {			setStyle( this.style );		}		//#ifdef polish.useDynamicStyles		initStyle();		//#endif		if (this.labelFont == null && this.label != null) {			this.labelFont = Font.getDefaultFont();		}		if (this.label != null) {			this.labelWidth = this.labelFont.stringWidth( this.label ) + this.paddingHorizontal;		} else {			this.labelWidth = 0;		}		// calculate content width and content height:		int noneContentWidth = this.labelWidth 			 	+ this.marginLeft + this.borderWidth + this.paddingLeft 				+ this.paddingRight + this.borderWidth + this.marginRight;		//#ifdef polish.useBeforeStyle		noneContentWidth += this.beforeWidth;		//#endif		//#ifdef polish.useAfterStyle		noneContentWidth += this.afterWidth;		//#endif		int firstLineContentWidth = firstLineWidth - noneContentWidth;		int availableContentWidth = lineWidth - noneContentWidth;		// initialise content by subclass:		initContent( firstLineContentWidth, availableContentWidth );		if ( this.isLayoutExpand ) {			this.itemWidth = lineWidth;		} else {			this.itemWidth = noneContentWidth + this.contentWidth;			if (this.itemWidth > lineWidth) {				this.itemWidth = lineWidth;			}		}		int cHeight = this.contentHeight;		//#ifdef polish.useBeforeStyle		if (this.contentHeight < this.beforeHeight) {			cHeight = this.beforeHeight;		}		//#endif		//#ifdef polish.useAfterStyle		if (this.contentHeight < this.afterHeight) {			cHeight = this.afterHeight;		}		//#endif		this.backgroundWidth = this.itemWidth - this.marginLeft - this.marginRight;		this.backgroundHeight = this.borderWidth + this.paddingTop 		 					  + cHeight 							  + this.paddingBottom + this.borderWidth;		this.itemHeight = this.backgroundHeight + this.marginTop + this.marginBottom;		this.isInitialised = true;	}