if ( sHeightUnits == null || sWidthUnits == null ) {  return; }
	public final void updateFigure( ExtendedItemHandle eih, IFigure ifg )	{		try		{			final DimensionHandle dhHeight = eih.getHeight( );			final DimensionHandle dhWidth = eih.getWidth( );			double dOriginalHeight = dhHeight.getMeasure( );			String sHeightUnits = dhHeight.getUnits( );			double dOriginalWidth = dhWidth.getMeasure( );			String sWidthUnits = dhWidth.getUnits( );			// USE THE SWT DISPLAY SERVER TO CONVERT POINTS TO PIXELS			final IDisplayServer idsSWT = ChartDlg.getDisplayServer( ); // REUSE			// Convert from pixels to points first...since DimensionUtil does			// not			// provide conversion services to and from			// Pixels			if ( sHeightUnits == DesignChoiceConstants.UNITS_PX )			{				dOriginalHeight = ChartUtil.convertPixelsToPoints( idsSWT,						dOriginalHeight );				sHeightUnits = DesignChoiceConstants.UNITS_PT;			}			// convert percentage to points			if ( sHeightUnits == DesignChoiceConstants.UNITS_PERCENTAGE )			{				IFigure parentFigure = ifg.getParent( );				if ( parentFigure != null )				{					int height = (int) ( ( parentFigure.getSize( ).height - parentFigure.getInsets( )							.getHeight( ) )							* dOriginalHeight / 100 );					dOriginalHeight = ChartUtil.convertPixelsToPoints( idsSWT,							height );					sHeightUnits = DesignChoiceConstants.UNITS_PT;				}			}			double dHeightInPoints = DimensionUtil.convertTo( dOriginalHeight,					sHeightUnits,					DesignChoiceConstants.UNITS_PT ).getMeasure( );			// Convert from pixels to points first...since DimensionUtil does			// not			// provide conversion services to and from			// Pixels			if ( sWidthUnits == DesignChoiceConstants.UNITS_PX )			{				dOriginalWidth = ( dOriginalWidth * 72d )						/ idsSWT.getDpiResolution( );				sWidthUnits = DesignChoiceConstants.UNITS_PT;			}			// convert percentage to points			if ( sWidthUnits == DesignChoiceConstants.UNITS_PERCENTAGE )			{				IFigure parentFigure = ifg.getParent( );				if ( parentFigure != null )				{					int width = (int) ( ( parentFigure.getSize( ).width - parentFigure.getInsets( )							.getWidth( ) )							* dOriginalWidth / 100 );					dOriginalWidth = ChartUtil.convertPixelsToPoints( idsSWT,							width );					sWidthUnits = DesignChoiceConstants.UNITS_PT;				}			}			double dWidthInPoints = DimensionUtil.convertTo( dOriginalWidth,					sWidthUnits,					DesignChoiceConstants.UNITS_PT ).getMeasure( );			final double dHeightInPixels = ( idsSWT.getDpiResolution( ) * dHeightInPoints ) / 72d;			final double dWidthInPixels = ( idsSWT.getDpiResolution( ) * dWidthInPoints ) / 72d;			final ChartReportItemImpl crii;			// UPDATE THE MODEL			try			{				eih.loadExtendedElement( );				crii = (ChartReportItemImpl) eih.getReportItem( );				// update the handle relationship.				crii.setHandle( eih );			}			catch ( ExtendedElementException eeex )			{				logger.log( eeex );				return;			}			final Chart cm = (Chart) crii.getProperty( "chart.instance" ); //$NON-NLS-1$			if ( dWidthInPoints > 0 )				cm.getBlock( ).getBounds( ).setWidth( dWidthInPoints );			if ( dHeightInPoints > 0 )				cm.getBlock( ).getBounds( ).setHeight( dHeightInPoints );			if ( crii.getDesignerRepresentation( ) != null )			{				( (DesignerRepresentation) crii.getDesignerRepresentation( ) ).setDirty( true );			}			// UPDATE THE FIGURE			Dimension newSize = ifg.getBounds( ).getCopy( ).getSize( );			if ( dWidthInPixels > 0 )				newSize.width = (int) dWidthInPixels;			if ( dHeightInPixels > 0 )				newSize.height = (int) dHeightInPixels;			ifg.setSize( newSize );		}		catch ( Exception ex )		{			logger.log( ex );		}	}