When a component in an enclosure is added to the AjaxRequestTarget, its (and subsequently its children's) header contributions are not rendered.
AjaxEnclosureListener replaces any components with enclosures that are in the target with their enclosures. However, in the wicket hierarchy the enclosures appear to be siblings to the components they enclose. What this causes is that when the default ChildFirstHeaderRenderStrategy attempts to render the header contributions for the enclosure, nothing is rendered as the enclosure itself has no children in the hierarchy.
On one hand, ChildFirstHeaderRenderStrategy seems to be the culprit - it should detect enclosures and act accordingly - but fixing the problem there would cause it to resurface in the future if the default implementation of header render strategy is changed. What would be a correct way fix for this?