FBlackboardKeySelector - how to populate with BB keys on a custom graph editor

I’ve been creating a custom Graph Editor based on a generic graph, as an alternative AI system analogous to the Behavior Tree. It’s been going well if not for a FBlackboardKeySelector on one of the graph’s node types. There is a standard blackboard associated with the graph, and at first I thought the linkage between available BB keys as values of the node’s KeySelector property shown in Details window would be populated by calling

UBlackboardData* BBAsset = Graph->GetBlackboardData();
		if (BBAsset)
		{
			BlackboardKey.ResolveSelectedKey(*BBAsset);
		}
		else
		{
			(...)
		}

in a method analogous to the InitializeFromAsset called for decorators, and nodes using blackboard keys within standard behavior tree graph. However this is not the case.

If I call the above code the FBlackboardKeySelector will automatically set itself to the first entry in the associated blackboard - so far so good.

The problem is, that once I try to click on the key selection dropdown in Details panel, nothing happens - no dropdown with available keys shows up. That is understandable, as the aforementioned ‘ResolveSelectedKey’ has nothing to do with presentation of all available values.

My question is - what part of code is then in charge of population of this dropdown? Or what is the proper way to treat FBlackboardKeySelectors so they can know about blackboard values available to them? I’ve been investigating the code for a long time, but to no avail, and this feature is critical for my project.

So after two days of being stuck, and just after posting this, I came upon the answer - the missing link in all that is IBlackboardAssetProvider interface that has to be implemented by your Graph class. It’s a very simple interface which only requires you to notify it when blackboard changes, and return reference to its data, but internally it’s used by FBlackboardSelectorDetails which is responsible for key selection dropdown.