iRender.getLocale( ) ) );
iRender.getULocale( ) ) );
	private void drawIcon( IPrimitiveRenderer ipr ) throws ChartException	{		Fill fil = m.getFill( );		if ( !( fil instanceof Image ) )		{			logger.log( ILogger.WARNING,					Messages.getString( "exception.illegal.icon.palette.type.for.marker", //$NON-NLS-1$ 							new Object[]{								fil							},							iRender.getLocale( ) ) );			return;		}		Image icon = (Image) fil;		if ( bRendering3D )		{			final Image3DRenderEvent ire = (Image3DRenderEvent) ( (EventObjectCache) ipr ).getEventObject( oSource,					Image3DRenderEvent.class );			ire.setLocation3D( lo3d );			ire.setImage( icon );			preCopy = ire.copy( );			dc.addPlane( ire, PrimitiveRenderEvent.FILL );		}		else		{			final ImageRenderEvent ire = (ImageRenderEvent) ( (EventObjectCache) ipr ).getEventObject( oSource,					ImageRenderEvent.class );			ire.setLocation( lo );			ire.setImage( icon );			final Location[] loa = new Location[4];			loa[0] = LocationImpl.create( lo.getX( ) - iSize, lo.getY( )					+ iSize );			loa[1] = LocationImpl.create( lo.getX( ) + iSize, lo.getY( )					+ iSize );			loa[2] = LocationImpl.create( lo.getX( ) + iSize, lo.getY( )					- iSize );			loa[3] = LocationImpl.create( lo.getX( ) - iSize, lo.getY( )					- iSize );			final PolygonRenderEvent pre = (PolygonRenderEvent) ( (EventObjectCache) ipr ).getEventObject( oSource,					PolygonRenderEvent.class );			pre.setPoints( loa );			pre.setBackground( paletteEntry );			pre.setOutline( la );			preCopy = pre.copy( );			if ( bDeferred )			{				dc.addMarker( ire, PrimitiveRenderEvent.FILL );			}			else			{				ipr.drawImage( ire );			}		}	}