final double dXOffset = ( bo.getWidth( ) - bo.getHeight( ) ) / 2;
	public void renderLegendGraphic( IPrimitiveRenderer ipr, Legend lg,			Fill fPaletteEntry, Bounds bo ) throws ChartException	{		final LineAttributes lia = LineAttributesImpl.create( ColorDefinitionImpl.GREY( ),				LineStyle.SOLID_LITERAL,				1 );		if ( fPaletteEntry == null ) // TEMPORARY PATCH: WILL BE REMOVED SOON		{			fPaletteEntry = ColorDefinitionImpl.RED( );		}		// COMPUTE THE FRONT FACE ONLY		final double dXOffset = ( bo.getWidth( ) - bo.getHeight( ) ) / 2;		Location[] loaFrontFace = null;		loaFrontFace = new Location[4];		loaFrontFace[0] = LocationImpl.create( bo.getLeft( ) + dXOffset,				bo.getTop( ) );		loaFrontFace[1] = LocationImpl.create( bo.getLeft( ) + dXOffset,				bo.getTop( ) + bo.getHeight( ) );		loaFrontFace[2] = LocationImpl.create( bo.getLeft( )				+ dXOffset				+ bo.getHeight( ), bo.getTop( ) + bo.getHeight( ) );		loaFrontFace[3] = LocationImpl.create( bo.getLeft( )				+ dXOffset				+ bo.getHeight( ), bo.getTop( ) );		// RENDER THE PLANE (INTERNALLY EXTRUDED IF NECESSARY)		renderPlane( ipr,				StructureSource.createLegend( lg ),				loaFrontFace,				fPaletteEntry,				lia,				getModel( ).getDimension( ),				3 * getDeviceScale( ),				false );	}