Rewrite of #296: require setting during construction to enable "check for existing current token"
diff --git a/src/test/java/com/fasterxml/jackson/core/json/ParserSequenceTest.java b/src/test/java/com/fasterxml/jackson/core/json/ParserSequenceTest.java
index f555186..85363f4 100644
--- a/src/test/java/com/fasterxml/jackson/core/json/ParserSequenceTest.java
+++ b/src/test/java/com/fasterxml/jackson/core/json/ParserSequenceTest.java
@@ -11,7 +11,7 @@
     {
         JsonParser p1 = JSON_FACTORY.createParser("[ 1 ]");
         JsonParser p2 = JSON_FACTORY.createParser("[ 2 ]");
-        JsonParserSequence seq = JsonParserSequence.createFlattened(p1, p2);
+        JsonParserSequence seq = JsonParserSequence.createFlattened(false, p1, p2);
         assertEquals(2, seq.containedParsersCount());
 
         assertFalse(p1.isClosed());
@@ -47,19 +47,49 @@
     }
 
     // for [jackson-core#296]
-    public void testInitialized() throws Exception
+    public void testInitializationDisabled() throws Exception
     {
-        JsonParser p1 = JSON_FACTORY.createParser("1 2");
-        JsonParser p2 = JSON_FACTORY.createParser("3 false");
-        // consume '1', move to '2'
-        assertToken(JsonToken.VALUE_NUMBER_INT, p1.nextToken());
-        assertToken(JsonToken.VALUE_NUMBER_INT, p1.nextToken());
+        // // First, with old legacy settings
 
-        JsonParserSequence seq = JsonParserSequence.createFlattened(p1, p2);
+        JsonParser p1 = JSON_FACTORY.createParser("1 2");
+        JsonParser p2 = JSON_FACTORY.createParser("3 true");
+        assertToken(JsonToken.VALUE_NUMBER_INT, p1.nextToken());
+        assertEquals(1, p1.getIntValue());
+        assertToken(JsonToken.VALUE_NUMBER_INT, p2.nextToken());
+        assertEquals(3, p2.getIntValue());
+
+        // with legacy settings, will see neither '1' nor '3'
+        
+        JsonParserSequence seq = JsonParserSequence.createFlattened(false, p1, p2);
+        assertToken(JsonToken.VALUE_NUMBER_INT, seq.nextToken());
+        assertEquals(2, seq.getIntValue());
+        assertToken(JsonToken.VALUE_TRUE, seq.nextToken());
+        assertNull(seq.nextToken());
+        seq.close();
+    }
+
+    // for [jackson-core#296]
+    public void testInitializationEnabled() throws Exception
+    {
+        // // and then with new "check for current":
+        JsonParser p1 = JSON_FACTORY.createParser("1 2");
+        JsonParser p2 = JSON_FACTORY.createParser("3 true");
+        assertToken(JsonToken.VALUE_NUMBER_INT, p1.nextToken());
+        assertEquals(1, p1.getIntValue());
+        assertToken(JsonToken.VALUE_NUMBER_INT, p2.nextToken());
+        assertEquals(3, p2.getIntValue());
+
+        // with new settings, both '1' and '3' will be visible
+        
+        JsonParserSequence seq = JsonParserSequence.createFlattened(true, p1, p2);
+        assertToken(JsonToken.VALUE_NUMBER_INT, seq.nextToken());
+        assertEquals(1, seq.getIntValue());
         assertToken(JsonToken.VALUE_NUMBER_INT, seq.nextToken());
         assertEquals(2, seq.getIntValue());
         assertToken(JsonToken.VALUE_NUMBER_INT, seq.nextToken());
         assertEquals(3, seq.getIntValue());
+        assertToken(JsonToken.VALUE_TRUE, seq.nextToken());
+        assertNull(seq.nextToken());
         seq.close();
     }
 }