Backed out changeset: e9ec8f7cbaa9 - keep ignoring duplicate keys
diff --git a/src/main/java/org/yaml/snakeyaml/constructor/BaseConstructor.java b/src/main/java/org/yaml/snakeyaml/constructor/BaseConstructor.java
index 755a5a7..227b95d 100644
--- a/src/main/java/org/yaml/snakeyaml/constructor/BaseConstructor.java
+++ b/src/main/java/org/yaml/snakeyaml/constructor/BaseConstructor.java
@@ -382,10 +382,7 @@
                         new RecursiveTuple<Map<Object, Object>, RecursiveTuple<Object, Object>>(
                                 mapping, new RecursiveTuple<Object, Object>(key, value)));
             } else {
-                Object previous = mapping.put(key, value);
-                if (previous != null) throw new ConstructorException("while constructing a mapping",
-                        node.getStartMark(), "found duplicate key '" + key + "' with values '" + previous + "' and '" + value + "'", tuple
-                        .getKeyNode().getStartMark());
+                mapping.put(key, value);
             }
         }
     }
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue139/MergeValueTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue139/MergeValueTest.java
index 399de94..55bf50f 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue139/MergeValueTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue139/MergeValueTest.java
@@ -21,33 +21,21 @@
 
 import org.yaml.snakeyaml.Util;
 import org.yaml.snakeyaml.Yaml;
-import org.yaml.snakeyaml.constructor.ConstructorException;
 
 public class MergeValueTest extends TestCase {
 
     public void testNotUniqueSimple() {
-        String simple = "{k: 1, k: 2}";
+        String simple = "{key: 1, key: 2}";
         Yaml yaml = new Yaml();
-        try {
-            yaml.load(simple);
-            fail("Duplicate key must not be accepted.");
-        } catch (ConstructorException e) {
-            System.out.print(e);
-            assertTrue(simple, e.getMessage().contains("duplicate key"));
-        }
+        @SuppressWarnings("unchecked")
+        Map<String, Integer> map = (Map<String, Integer>) yaml.load(simple);
+        assertEquals(1, map.size());
+        assertEquals(new Integer(2), map.get("key"));
     }
 
     public void testMerge() {
         check("issues/issue139-1.yaml");// merge with unique keys
-    }
-
-    public void testMergeWithSameKey() {
-        try {
-            check("issues/issue139-2.yaml");// merge with same key
-            fail("Duplicate key must not be accepted.");
-        } catch (ConstructorException e) {
-            assertTrue(e.getMessage().contains("duplicate key"));
-        }
+        check("issues/issue139-2.yaml");// merge with same key
     }
 
     private void check(String name) {
@@ -76,7 +64,7 @@
         assertEquals(2, map.size());
         Map<String, Integer> common = (Map<String, Integer>) map.get("common");
         Map<String, Integer> production = (Map<String, Integer>) map.get("production");
-        assertEquals(new Integer(1), common.get("key"));
-        assertEquals(new Integer(2), production.get("key"));
+        assertEquals(new Integer(2), common.get("key"));
+        assertEquals(new Integer(3), production.get("key"));
     }
 }
diff --git a/src/test/resources/issues/issue139-2.yaml b/src/test/resources/issues/issue139-2.yaml
index b52d1d5..ca2967c 100644
--- a/src/test/resources/issues/issue139-2.yaml
+++ b/src/test/resources/issues/issue139-2.yaml
@@ -1,6 +1,6 @@
 common: &id_common
    key: 1
-   key: 2 # this is the same key
+   key: 2 # this value must overwrite the previous. Is it specified ?
 
 production:
    <<: *id_common
\ No newline at end of file
diff --git a/src/test/resources/issues/issue139-3.yaml b/src/test/resources/issues/issue139-3.yaml
index 8ed5a48..3b5d0d9 100644
--- a/src/test/resources/issues/issue139-3.yaml
+++ b/src/test/resources/issues/issue139-3.yaml
@@ -1,6 +1,7 @@
 common: &id_common
    key: 1
+   key: 2
 
 production:
    <<: *id_common
-   key: 2 # this value must stay
\ No newline at end of file
+   key: 3 # this value must stay
\ No newline at end of file