This use of the anonymous inner class to invoke the protected method at constructor time while also relying upon adding to the 'result' var as a side effect inside the PlaceholderResolver overridden above all feels *too clever* (i.e. I had to stare at this code way too long to understand what was happening).

I don't know what to suggest as an alternative yet, but at the very least could we remove the assignment to the 'support' instance since it is never used and then move the "constructor" code *above* the overridden method here, including a comment to indicate that it is indeed invoked as the constructor and that we are using this approach to bypass the normal level of the stack from where this would be called (e.g. when using the BeanFactoryPostProcessor).