logger.log( rex );
rre.setBackground( fi ); bo.set( 3, iY + 3, rCA.width - 6, iItemHeight - 6 ); try { idrSWT.fillRectangle( rre ); idrSWT.drawRectangle( rre ); } catch ( ChartException rex ) { logger.log( rex ); }
	public final void paintControl( PaintEvent pev )	{		Composite co = (Composite) pev.getSource( );		GC gcComposite = pev.gc;		Display d = pev.display;		Rectangle rCA = coPaletteEntries.getClientArea( );		if ( coEditor == null )		{			coEditor = new FillChooserComposite( co,					SWT.NONE,					wizardContext,					null,					true,					true );			coEditor.setBounds( 3, 3, rCA.width - 6, iItemHeight - 6 );			( (FillChooserComposite) coEditor ).addListener( this );		}		if ( imgBuffer == null )		{			imgBuffer = new Image( d, rCA.width, rCA.height );			gc = new GC( imgBuffer );			idrSWT.setProperty( IDeviceRenderer.GRAPHICS_CONTEXT, gc );		}		gc.setBackground( getBackground( ) );		gc.fillRectangle( rCA );		iViewHeight = rCA.height;		int iStartIndex = iViewY / iItemHeight;		if ( iStartIndex < 0 )		{			iStartIndex = 0;		}		iVisibleCount = iViewHeight / iItemHeight + 2;		int iAvailableItems = Math.min( iVisibleCount, elPaletteEntries.size( )				- iStartIndex );		int iY = -( iViewY % iItemHeight );		gc.setForeground( d.getSystemColor( SWT.COLOR_GRAY ) );		final RectangleRenderEvent rre = (RectangleRenderEvent) ( (EventObjectCache) idrSWT ).getEventObject( this,				RectangleRenderEvent.class );		final Bounds bo = BoundsImpl.create( 0, 0, 0, 0 );		rre.setOutline( LineAttributesImpl.create( ColorDefinitionImpl.BLACK( ),				LineStyle.SOLID_LITERAL,				1 ) );		rre.setBounds( bo );		Fill fi;		for ( int i = iStartIndex; i < iStartIndex + iAvailableItems; i++ )		{			fi = (Fill) elPaletteEntries.get( i );			bo.set( 3, iY + 3, rCA.width - 6, iItemHeight - 6 );			rre.setBackground( fi );			try			{				idrSWT.fillRectangle( rre );				idrSWT.drawRectangle( rre );			}			catch ( ChartException rex )			{				logger.log( rex );			}			if ( i == iSelectedIndex )			{				// WITHIN RANGE; SHOW EDITOR AND UPDATE POSITION				if ( !coEditor.isVisible( ) )				{					coEditor.setVisible( true );				}				coEditor.setLocation( 3, iY + 3 );				( (FillChooserComposite) coEditor ).setFill( fi );			}			iY += iItemHeight;		}		// OUT OF RANGE; HIDE EDITOR		if ( iSelectedIndex < iStartIndex				|| iSelectedIndex >= iStartIndex + iAvailableItems )		{			if ( coEditor.isVisible( ) )			{				coEditor.setVisible( false );			}		}		gcComposite.drawImage( imgBuffer, rCA.x, rCA.y );	}