diff --git a/pom.xml b/pom.xml
index 0f926433..232bb2b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -121,7 +121,7 @@
6.3.0
8.5.14
2.3.232
- 2.18.3
+ 2.19.0
3.30.2-GA
0.2.9
1.0.2
diff --git a/src/main/java/com/arpnetworking/configuration/jackson/JsonNodeMergingSource.java b/src/main/java/com/arpnetworking/configuration/jackson/JsonNodeMergingSource.java
index d70982b1..b80ef551 100644
--- a/src/main/java/com/arpnetworking/configuration/jackson/JsonNodeMergingSource.java
+++ b/src/main/java/com/arpnetworking/configuration/jackson/JsonNodeMergingSource.java
@@ -24,9 +24,7 @@
import com.google.common.collect.Lists;
import net.sf.oval.constraint.NotNull;
-import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import java.util.Optional;
/**
@@ -75,9 +73,7 @@ private static JsonNode merge(final JsonNode target, final JsonNode source) {
// the target node. Any unmatched fields from the source node are
// simply added to the target node; this requires a deep copy
// since subsequent merges may modify it.
- final Iterator> iterator = source.fields();
- while (iterator.hasNext()) {
- final Map.Entry sourceFieldEntry = iterator.next();
+ for (var sourceFieldEntry : source.properties()) {
final JsonNode targetFieldValue = target.get(sourceFieldEntry.getKey());
if (targetFieldValue != null) {
// Recursively merge the source field value into the target