Is this right? If I've previously used the key "a" and then do `putAll(["a":"val])`, the isUsed will be false because it's not in unusedConfig. It will then be added back into unusedConfig below. If that is intended behaviour then should rename variable isUsed to something else.