An experiment with using the InvocationHandler to build a path to values, then using the path with adaptors for underlying sources
Not promising.  Easy for top-level lookups but the recursion isn't obvious
Using Groovy Map->Interface coercion to generate a path, then feed that onto a back-end source seems to do the trick, but breaks down a little when handling Lists
Added some error handling behaviour
Fully switched to the Groovy map-coercion approach, much cleaner
Validation pending a review of the approach
An unsatisfactory experience with the javax.validation API
* validateValue() looks ideal, but doesn't seem to work with the proxies that are being used all over the place
* bypassing the validator and factories to do validation manually looks awful

Looking for a different approach
An unsatisfactory experience with the javax.validation API
* validateValue() looks ideal, but doesn't seem to work with the proxies that are being used all over the place
* bypassing the validator and factories to do validation manually looks awful

Looking for a different approach
Finally, a working validation scheme and a fall-back to use defaults if configured values are all bad