public StdImage createImage() {
		StdImage offscreen = null;
		synchronized (getTreeLock()) {
			Graphics2D g2d = null;
			try {
				int width = mHeaderBounds.width;
				int height = mHeaderBounds.height + mContentBounds.height;
				offscreen = StdImage.createTransparent(getGraphicsConfiguration(), width, height);
				g2d = offscreen.getGraphics();
				Color saved = g2d.getBackground();
				g2d.setBackground(new Color(0, true));
				g2d.clearRect(0, 0, width, height);
				g2d.setBackground(saved);
				Insets insets = getInsets();
				g2d.translate(-insets.left, -insets.top);
				Rectangle clip = new Rectangle(0, 0, width, height);
				g2d.setClip(clip);
				paint(g2d);
			} catch (Exception exception) {
				Log.error(exception);
			} finally {
				if (g2d != null) {
					g2d.dispose();
				}
			}
		}
		return offscreen;
	}