@Override
	public UIDefaults getDefaults() {
		UIDefaults defaults = super.getDefaults();

		installCustomPainters(defaults);

		// normally all of this wiring is handled by the LookAndFeelManager (see above)
		UiDefaultsMapper uiDefaultsMapper = new NimbusUiDefaultsMapper(defaults);
		installJavaDefaultsIntoThemeManager(uiDefaultsMapper);
		uiDefaultsMapper.installValuesIntoUIDefaults(themeManager.getCurrentValues());

		normalizedIdToLafIdMap = uiDefaultsMapper.getNormalizedIdToLafIdMap();
		return defaults;
	}
Extends the {@link NimbusLookAndFeel} (Nimbus) to intercept {@link #getDefaults()}. Nimbus 
does not honor changes to the UIDefaults after it is installed as the active
{@link LookAndFeel}, so we have to make the changes at the time the UIDefaults are installed. 
<P>
To get around this issue, we extend Nimbus so that we can install our GColors and
overridden properties as Nimbus is being installed, specifically during the call to the 
getDefaults() method. For all other Look And Feels, the GColors and overridden properties are 
changed in the UIDefaults after the Look And Feel is installed, so they don't need to extend the
Look and Feel class.
<P>
Also, unlike other LaFs, Nimbus needs to be reinstalled every time we need to make a change to 
any of the UIDefaults values, since it does not respond to changes other than when first 
installed.
Ghidra/Framework/Gui/src/main/java/generic/theme/laf/CustomNimbusLookAndFeel.java