private void valueChanged(T value) {
		ThemeValue<T> oldValue = currentThemeValue;
		String id = oldValue.getId();
		ThemeValue<T> newValue = createNewThemeValue(id, value);
		firePropertyChangeEvent(oldValue, newValue);
		PropertyChangeEvent event =
			new PropertyChangeEvent(this, id, oldValue, newValue);
		clientListener.propertyChange(event);
	}
Factory method for creating the ThemeValue of the correct type.
@param id the id for theme property
@param newValue the new value for the underlying type (Color, Font, or Icon)
@return the new ThemeValue for the type
Ghidra/Framework/Docking/src/main/java/docking/theme/gui/ThemeValueEditor.java