Out current ConfigData processing code is a little confusing due to the terms that we've used. Specifically we often refer to "config data location" in our docs, but in the code the ConfigDataLocation class refers to the resolved element.

I think it would be better if we consistently use location to mean the property that the user types. We can update the ConfigDataLocationResolver to return a ConfigDataResource (which aligns better with org.springframework.core.io.Resource).

There are few other areas of the code that can also be improved at the same time.