SLING-12136 - Removed code related to Dictionary that caused infinite loop.

Improved the code coverage of MapUtilTest.

Clearly no-one was using the Dictionary branch (or else they would have
experienced a Stack Overflow error), so there shouldn't be any backwards
compatibility issues.
diff --git a/src/main/java/org/apache/sling/hamcrest/MapUtil.java b/src/main/java/org/apache/sling/hamcrest/MapUtil.java
index a391c4e..e09339e 100644
--- a/src/main/java/org/apache/sling/hamcrest/MapUtil.java
+++ b/src/main/java/org/apache/sling/hamcrest/MapUtil.java
@@ -20,7 +20,6 @@
 
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.Dictionary;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -43,13 +42,8 @@
         if (args == null || args.length == 0) {
             return Collections.emptyMap();
         }
-        if (args.length == 1) {
-            if (args[0] instanceof Map) {
-                return (Map<String, Object>)args[0];
-            }
-            else if (args[0] instanceof Dictionary) {
-                return toMap((Dictionary<String, Object>)args[0]);
-            }
+        if (args.length == 1 && args[0] instanceof Map) {
+            return (Map<String, Object>)args[0];
         }
         if (args.length % 2 != 0) {
             throw new IllegalArgumentException("args must be an even number of name/values:" + Arrays.asList(args));
diff --git a/src/test/java/org/apache/sling/hamcrest/MapUtilTest.java b/src/test/java/org/apache/sling/hamcrest/MapUtilTest.java
index 9257fbf..6ea1a34 100644
--- a/src/test/java/org/apache/sling/hamcrest/MapUtilTest.java
+++ b/src/test/java/org/apache/sling/hamcrest/MapUtilTest.java
@@ -20,6 +20,7 @@
 
 import static org.junit.Assert.assertEquals;
 
+import java.util.Collections;
 import java.util.Map;
 
 import org.junit.Test;
@@ -28,11 +29,44 @@
 
 public class MapUtilTest {
 
-    @Test
+    private static final ImmutableMap<String, Object> EXPECTED_MAP = ImmutableMap.<String, Object>of("param1", "var1", "param2", 123, "param3", true);
+
+	@Test
     public void testMapObjectVarargs() {
         Map<String, Object> convertedMap = MapUtil.toMap("param1", "var1", "param2", 123, "param3", true);
         
-        assertEquals(ImmutableMap.<String, Object>of("param1", "var1", "param2", 123, "param3", true), convertedMap);
+        assertEquals(EXPECTED_MAP, convertedMap);
     }
-    
+ 
+    @Test
+    public void testMapObjectMap() {
+        Map<String, Object> convertedMap = MapUtil.toMap(EXPECTED_MAP);
+        
+        assertEquals(EXPECTED_MAP, convertedMap);
+    }
+ 
+
+    @Test(expected = IllegalArgumentException.class)
+    public void testMapObjectVarArgs_NotMap() {
+        MapUtil.toMap("param1", "var1", "param2", 123, "param3");
+    }
+ 
+    @Test
+    public void testMapObjectVarargs_EmptyArgs() {
+        Map<String, Object> convertedMap = MapUtil.toMap();
+        
+        assertEquals(Collections.emptyMap(), convertedMap);
+    }
+ 
+    @Test
+    public void testMapObjectVarargs_Null() {
+        Map<String, Object> convertedMap = MapUtil.toMap((Object[])null);
+        
+        assertEquals(Collections.emptyMap(), convertedMap);
+    }
+ 
+    @Test(expected = IllegalArgumentException.class)
+    public void testMapObjectVarArgs_OddNumberOfArgs() {
+        MapUtil.toMap("param1", "var1", "param2", 123, "param3");
+    }
 }