"exception.media.tracker",
"SwingImageCache.exception.media.tracker",
	final Image loadImage( URL url ) throws ChartException	{		Image img = (Image) htCache.get( url );		if ( img != null )		{			logger.log( ILogger.INFORMATION,					Messages.getString( "info.using.swing.cached.image",//$NON-NLS-1$							new Object[]{								url							}, idsSWING.getULocale( ) ) );		}		else		{			logger.log( ILogger.INFORMATION,					Messages.getString( "info.loading.swing.image",//$NON-NLS-1$							new Object[]{								url							}, idsSWING.getULocale( ) ) );			img = ( new ImageIcon( url ) ).getImage( );			try			{				final MediaTracker tracker = new MediaTracker( p );				tracker.addImage( img, 0 );				tracker.waitForAll( );				if ( ( tracker.statusAll( true ) & MediaTracker.ERRORED ) != 0 )				{					StringBuffer sb = new StringBuffer( );					Object[] oa = tracker.getErrorsAny( );					sb.append( '[' );					for ( int i = 0; i < oa.length; i++ )					{						sb.append( oa[i] );						if ( i < oa.length - 1 )						{							sb.append( ", " ); //$NON-NLS-1$						}					}					sb.append( ']' );					throw new ChartException( ChartDeviceExtensionPlugin.ID,							ChartException.IMAGE_LOADING,							"exception.media.tracker", //$NON-NLS-1$							new Object[]{								sb.toString( )							},							ResourceBundle.getBundle( Messages.DEVICE_EXTENSION,									idsSWING.getLocale( ) ) );				}			}			catch ( InterruptedException ex )			{				throw new ChartException( ChartDeviceExtensionPlugin.ID,						ChartException.IMAGE_LOADING,						ex );			}			htCache.put( url, img );		}		return img;	}