@Override
	public void loadFilterPreference(DockingWindowManager windowManager) {

		if (windowManager == null) {
			return;
		}

		// Check to see if the options were specifically set via the API.  In this case, we do not
		// save user changes to the filter options.  Not sure exactly why at this point, or if this
		// is even the preferred behavior.  Leaving it this way for now.
		if (optionsSet) {
			return;
		}

		// 
		// We have just been loaded into the UI.  The window manager has the current preference 
		// state if any has been saved.  First, load any saved state into this class.
		// 
		String key = gTree.getPreferenceKey();
		PreferenceState preferenceState = windowManager.getPreferenceState(key);
		loadFromPreferenceState(preferenceState);

		//
		// Next, register a preference state supplier so that we will get asked for our current 
		// state when the tool is saved.  When asked for our state, we will make the decision as to
		// whether or not we have anything to save.  There is no need to remove our supplier later, 
		// as it will be disposed when the tool is closed.
		// 
		windowManager.registerPreferenceStateSupplier(key, () -> createPreferenceState());
	}
Sets the options for this filter provider.
@param filterOptions the new filter options
Ghidra/Framework/Docking/src/main/java/docking/widgets/tree/DefaultGTreeFilterProvider.java