private void initializeSystemValues() {

		//
		// These values may be referenced by Java clients.   The headless env does not load the
		// Java LookAndFeel, which is from where the values are usually defined. So, add dummy 
		// definitions for these values here.
		//

		Font font = new Font("Arial", Font.PLAIN, 12);
		javaDefaults.addFont(new FontValue(SystemThemeIds.FONT_CONTROL_ID, font));
		javaDefaults.addFont(new FontValue(SystemThemeIds.FONT_VIEW_ID, font));
		javaDefaults.addFont(new FontValue(SystemThemeIds.FONT_MENU_ID, font));

		javaDefaults.addColor(new ColorValue(SystemThemeIds.BG_CONTROL_ID, Color.CYAN));
		javaDefaults.addColor(new ColorValue(SystemThemeIds.BG_VIEW_ID, Color.CYAN));
		javaDefaults.addColor(new ColorValue(SystemThemeIds.BG_TOOLTIP_ID, Color.CYAN));
		javaDefaults.addColor(new ColorValue(SystemThemeIds.BG_VIEW_SELECTED_ID, Color.CYAN));
		javaDefaults.addColor(new ColorValue(SystemThemeIds.BG_BORDER_ID, Color.CYAN));
		javaDefaults.addColor(new ColorValue(SystemThemeIds.FG_CONTROL_ID, Color.CYAN));
		javaDefaults.addColor(new ColorValue(SystemThemeIds.FG_VIEW_ID, Color.CYAN));
		javaDefaults.addColor(new ColorValue(SystemThemeIds.FG_TOOLTIP_ID, Color.CYAN));
		javaDefaults.addColor(new ColorValue(SystemThemeIds.FG_VIEW_SELECTED_ID, Color.CYAN));
		javaDefaults.addColor(new ColorValue(SystemThemeIds.FG_DISABLED_ID, Color.CYAN));

	}
This is a strange implementation of {@link ThemeManager} that is meant to be used in a headless
environment, but also needs theme properties to have been loaded.  This is needed by any
application that needs to do theme property validation.
Ghidra/Framework/Gui/src/main/java/generic/theme/HeadlessThemeManager.java