@@ -95,7 +95,7 @@ class NavigableMap implements Map<String, Object>, Cloneable {
9595 mergeMaps(this , sourceMap, parseFlatKeys)
9696 }
9797
98- private static void mergeMaps (NavigableMap targetMap , Map sourceMap , boolean parseFlatKeys ) {
98+ private void mergeMaps (NavigableMap targetMap , Map sourceMap , boolean parseFlatKeys ) {
9999 sourceMap. each { Object sourceKeyObject , Object sourceValue ->
100100 String sourceKey = String . valueOf(sourceKeyObject)
101101 NavigableMap actualTarget
@@ -114,7 +114,7 @@ class NavigableMap implements Map<String, Object>, Cloneable {
114114 }
115115 }
116116
117- private static void mergeMapEntry (NavigableMap targetMap , String sourceKey , Object sourceValue , boolean parseFlatKeys ) {
117+ protected void mergeMapEntry (NavigableMap targetMap , String sourceKey , Object sourceValue , boolean parseFlatKeys ) {
118118 Object currentValue = targetMap. containsKey(sourceKey) ? targetMap. get(sourceKey) : null
119119 Object newValue
120120 if (sourceValue instanceof Map ) {
@@ -130,10 +130,14 @@ class NavigableMap implements Map<String, Object>, Cloneable {
130130 if (newValue == null ) {
131131 targetMap. remove(sourceKey)
132132 } else {
133- targetMap . put( sourceKey, newValue)
133+ mergeMapEntry(targetMap, sourceKey, newValue)
134134 }
135135 }
136-
136+
137+ protected Object mergeMapEntry (NavigableMap targetMap , String sourceKey , newValue ) {
138+ targetMap. put(sourceKey, newValue)
139+ }
140+
137141 public Object getAt (Object key ) {
138142 getProperty(String . valueOf(key))
139143 }
0 commit comments