Behavior provides / marker

We are debugging an issue with plone.app.referenceablebehavior.

In this context, we are looking for the part of the code that applies the behavior provided/marker interface on newly created dexterity content instances.

Any hint where this does happens ?

In older plone.behavior/plone.dexterity versions there used to be an event handler + applyMarkers function call to do that.
In the current implementation interfaces (incl marker interfaces) are collected and cached at runtime via an FTIAwareSpecification on the object (obj.__providedBy__)