EvtStoreSvc creates null directory object
When adding objects to the event store, the EvtStoreSvc should create non-null DataObject* representations of intermediate directories when its ForceLeaves property is true. What it actually stores is a nullptr:
p.store->put( dir, std::unique_ptr<DataObject>{} );
One fix is to change from std::unique_ptr to std::make_unique. I see in c9ebcb88 the reverse change was made, so perhaps another solution would be preferred.
The current behaviour is problematic for non-Gaudi-functional algorithms which perform a getIfExists on such intermediate locations. With the behaviour in master, the object retrieved for the intermediate directory is nullptr, causing legacy algorithms to interpret this as a non-existent location, when it has in fact been 'created'.
/cc @graven