public void registerUIDefaultsGetter( Function<Object, Object> uiDefaultsGetter ) {
		if( uiDefaultsGetters == null )
			uiDefaultsGetters = new ArrayList<>();

		uiDefaultsGetters.remove( uiDefaultsGetter );
		uiDefaultsGetters.add( uiDefaultsGetter );

		// disable shared UIs
		FlatUIUtils.setUseSharedUIs( false );
	}
Registers a UI defaults getter function that is invoked before the standard getter.
This allows using different UI defaults for special purposes
(e.g. using multiple themes at the same time).
<p>
The key is passed as parameter to the function.
If the function returns {@code null}, then the next registered function is invoked.
If all registered functions return {@code null}, then the current look and feel is asked.
If the function returns {@link #NULL_VALUE}, then the UI value becomes {@code null}.

@see #unregisterUIDefaultsGetter(Function)
@see #runWithUIDefaultsGetter(Function, Runnable)
@since 1.6
flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java