public void captureIcon(Icon icon) {
		runSwing(() -> {
			ImageIcon imageIcon = ResourceManager.getImageIcon(icon);
			image = imageIcon.getImage();

			// The image returned here must be a BufferedImage, so create one
			// if not. It may be a ToolkitImage (eg: if the icon in question
			// is retrieved from Icons.java), which would fail on a cast to
			// BufferedImage during the save operation.
			image = ImageUtils.getBufferedImage(image);
		});
	}
Captures the window, including decorations. This will use a {@link Robot} to create a screen
capture, which has the effect of getting all items within the window bounds. This method is
needed if you wish to capture child windows, like popups/hovers.

<P>
Other capture methods will not use the screen capture mechanism, but rather will directly
render the given component. In this case, subordinate windows will not be captured. For
example, see {@link #captureProvider(Class)}.

@param provider the provider's name
@param width the desired width
@param height the desired height
Ghidra/Features/Base/src/main/java/help/screenshot/AbstractScreenShotGenerator.java