@Override
	public Color resolveColor(AnsiColor color, WhichGround ground, Intensity intensity,
			ReverseVideo reverse) {
		if (color == AnsiDefaultColor.INSTANCE) {
			return resolveDefaultColor(ground, reverse, intensity);
		}
		if (color instanceof AnsiStandardColor standard) {
			return resolveStandardColor(standard, intensity);
		}
		if (color instanceof AnsiIntenseColor intense) {
			return resolveIntenseColor(intense);
		}
		if (color instanceof Ansi216Color cube) {
			return resolve216Color(cube);
		}
		if (color instanceof AnsiGrayscaleColor gray) {
			return resolveGrayscaleColor(gray);
		}
		if (color instanceof Ansi24BitColor rgb) {
			return resolve24BitColor(rgb);
		}
		throw new AssertionError();
	}
Process the given bytes as application output.

<p>
In most circumstances, there is a thread that just reads an output stream, usually from a
pty, and feeds it into this method.

@param buffer the buffer
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/terminal/TerminalPanel.java