HOP-3685 : Metadata annotation defaultBoolean is not used
diff --git a/core/src/main/java/org/apache/hop/metadata/serializer/json/JsonMetadataParser.java b/core/src/main/java/org/apache/hop/metadata/serializer/json/JsonMetadataParser.java
index 10ff37e..8f8ab93 100644
--- a/core/src/main/java/org/apache/hop/metadata/serializer/json/JsonMetadataParser.java
+++ b/core/src/main/java/org/apache/hop/metadata/serializer/json/JsonMetadataParser.java
@@ -68,9 +68,20 @@
           key = field.getName();
         }
         keyFieldMap.put(key, field);
+
+        // We need to go over the boolean fields and consider the defaultBoolean flag.
+        // If we don't do this we'll always get the value specified in the constructor.
+        //
+        Class<?> fieldType = field.getType();
+        if (Boolean.class.equals(fieldType) || boolean.class.equals(fieldType)) {
+          ReflectionUtil.setFieldValue(
+              object, field.getName(), fieldType, metadataProperty.defaultBoolean());
+        }
       }
     }
 
+    // Load all the properties found in the JSON...
+    //
     try {
       while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
         String key = jsonParser.getCurrentName();