Point d = ca.getSize( );
Point d = this.getSize( );
	private final void showException( GC g2d, Exception ex )	{		String sWrappedException = ex.getClass( ).getName( );		Throwable th = ex;		while ( ex.getCause( ) != null )		{			ex = (Exception) ex.getCause( );		}		String sException = ex.getClass( ).getName( );		if ( sWrappedException.equals( sException ) )		{			sWrappedException = null;		}		String sMessage = null;		if ( th instanceof BirtException )		{			sMessage = ( (BirtException) th ).getLocalizedMessage( );		}		else		{			sMessage = ex.getMessage( );		}		if ( sMessage == null )		{			sMessage = "<null>";//$NON-NLS-1$		}		StackTraceElement[] stea = ex.getStackTrace( );		Point d = ca.getSize( );		Device dv = Display.getCurrent( );		Font fo = new Font( dv, "Courier", SWT.BOLD, 16 );//$NON-NLS-1$		g2d.setFont( fo );		FontMetrics fm = g2d.getFontMetrics( );		g2d.setBackground( dv.getSystemColor( SWT.COLOR_WHITE ) );		g2d.fillRectangle( 20, 20, d.x - 40, d.y - 40 );		g2d.setForeground( dv.getSystemColor( SWT.COLOR_BLACK ) );		g2d.drawRectangle( 20, 20, d.x - 40, d.y - 40 );		g2d.setClipping( 20, 20, d.x - 40, d.y - 40 );		int x = 25, y = 20 + fm.getHeight( );		g2d.drawString( "Exception:", x, y );//$NON-NLS-1$		x += g2d.textExtent( "Exception:" ).x + 5;//$NON-NLS-1$		g2d.setForeground( dv.getSystemColor( SWT.COLOR_RED ) );		g2d.drawString( sException, x, y );		x = 25;		y += fm.getHeight( );		if ( sWrappedException != null )		{			g2d.setForeground( dv.getSystemColor( SWT.COLOR_BLACK ) );			g2d.drawString( "Wrapped In:", x, y );//$NON-NLS-1$			x += g2d.textExtent( "Wrapped In:" ).x + 5;//$NON-NLS-1$			g2d.setForeground( dv.getSystemColor( SWT.COLOR_RED ) );			g2d.drawString( sWrappedException, x, y );			x = 25;			y += fm.getHeight( );		}		g2d.setForeground( dv.getSystemColor( SWT.COLOR_BLACK ) );		y += 10;		g2d.drawString( "Message:", x, y );//$NON-NLS-1$		x += g2d.textExtent( "Message:" ).x + 5;//$NON-NLS-1$		g2d.setForeground( dv.getSystemColor( SWT.COLOR_BLUE ) );		g2d.drawString( sMessage, x, y );		x = 25;		y += fm.getHeight( );		g2d.setForeground( dv.getSystemColor( SWT.COLOR_BLACK ) );		y += 10;		g2d.drawString( "Trace:", x, y );//$NON-NLS-1$		x = 40;		y += fm.getHeight( );		g2d.setForeground( dv.getSystemColor( SWT.COLOR_DARK_GREEN ) );		for ( int i = 0; i < stea.length; i++ )		{			g2d.drawString( stea[i].getClassName( ) + ":"//$NON-NLS-1$					+ stea[i].getMethodName( ) + "(...):"//$NON-NLS-1$					+ stea[i].getLineNumber( ), x, y );			x = 40;			y += fm.getHeight( );		}		fo.dispose( );	}