Back to dictionary for configurations
diff --git a/src/main/java/org/apache/sling/feature/io/json/JSONWriterBase.java b/src/main/java/org/apache/sling/feature/io/json/JSONWriterBase.java
index 23fb2df..ac68800 100644
--- a/src/main/java/org/apache/sling/feature/io/json/JSONWriterBase.java
+++ b/src/main/java/org/apache/sling/feature/io/json/JSONWriterBase.java
@@ -21,6 +21,7 @@
 import java.lang.reflect.Array;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Enumeration;
 import java.util.List;
 import java.util.Map;
 
@@ -113,13 +114,14 @@
 
             generator.writeStartObject(key);
 
-            for(final Map.Entry<String, Object> prop : cfg.getProperties().entrySet()) {
-                final String name = prop.getKey();
+            final Enumeration<String> e = cfg.getProperties().keys();
+            while ( e.hasMoreElements() ) {
+                final String name = e.nextElement();
                 if ( Configuration.PROP_ARTIFACT_ID.equals(name) ) {
                     continue;
                 }
 
-                final Object val = prop.getValue();
+                final Object val = cfg.getProperties().get(name);
 
                 String typePostFix = null;
                 final Object typeCheck;