If you clone a Configuration, does not clone the StrSubstitutor when it has been instanced, so the cloned copy has the same StrSubstituor than the original composite. If you change a property in the original compoiste it is changed in the cloned copy.
Way to reproduce it :
The solution can be to make in the following ways:
Make the clone of the strSubstitutor in the AbstractConfigutration class.
Create a clone method inside the StrSubtitutor and invoke it from the AbstractConfiguration class.
Set null the strSubstituror when the clone method is invoked in the Abstract Configuration class. The next invocation to interpolate methos instances the strSubstitutor.