First of all, thanks for your great work!
The problem is best explained through an example:
Given an object of WinRegistryConfiguration that contains the following keys:
config.sub.val2 | ||
execution of this line:
winRegConfig->createView("config")->getString("sub.val3", "Default value");
causes an extera 'sub' key created in wrong place in 'winRegConfig':
__sub__ | ||
I've composed a readonly (PropertyFileConfiguration) and a writable (WinRegistryConfiguration) configuration class through LayeredConfiguration, so that the writable config will be searched first (has lower priority).
This composition worsen the problem: when I read a key that only exists in readonly config, its parent keys are also created in the writable config!