diff --git a/framework/src/main/java/org/apache/felix/framework/util/StringMap.java b/framework/src/main/java/org/apache/felix/framework/util/StringMap.java
index 0e9a059..9481b0e 100644
--- a/framework/src/main/java/org/apache/felix/framework/util/StringMap.java
+++ b/framework/src/main/java/org/apache/felix/framework/util/StringMap.java
@@ -40,7 +40,10 @@
 
     public StringMap(Map map, boolean caseSensitive)
     {
-        putAll(map);
+        for (Entry e : (Set<Entry>)map.entrySet())
+        {
+            put(e.getKey().toString(), e.getValue());
+        }
     }
 
     @Override
@@ -82,15 +85,6 @@
     }
 
     @Override
-    public void putAll(Map<? extends String, ? extends Object> map)
-    {
-        for (Map.Entry<? extends String, ? extends Object> e : map.entrySet())
-        {
-            put(e.getKey(), e.getValue());
-        }
-    }
-
-    @Override
     public Object remove(Object arg0)
     {
         KeyValueEntry kve = m_map.remove(toUpperCase(arg0.toString()));
