Fix an issue with new #1604 tests; was not exercising actual problem
diff --git a/src/test/java/com/fasterxml/jackson/failing/TestTypeFactory1604.java b/src/test/java/com/fasterxml/jackson/failing/TestTypeFactory1604.java
index 3b16dd8..52d8113 100644
--- a/src/test/java/com/fasterxml/jackson/failing/TestTypeFactory1604.java
+++ b/src/test/java/com/fasterxml/jackson/failing/TestTypeFactory1604.java
@@ -29,14 +29,14 @@
     public void testCustomTypesRefinedSimple()
     {
         TypeFactory tf = newTypeFactory();
-        JavaType type = tf.constructType(new TypeReference<Data1604<Long>>() { });
-        assertEquals(Data1604.class, type.getRawClass());
+        JavaType base = tf.constructType(new TypeReference<Data1604<List<Long>>>() { });
+        assertEquals(Data1604.class, base.getRawClass());
+        assertEquals(1, base.containedTypeCount());
+        assertEquals(List.class, base.containedType(0).getRawClass());
 
-        JavaType subtype = tf.constructSpecializedType(type, DataList1604.class);
+        JavaType subtype = tf.constructSpecializedType(base, DataList1604.class);
         assertEquals(DataList1604.class, subtype.getRawClass());
         assertEquals(1, subtype.containedTypeCount());
-
-        // should properly resolve type parameter:
         JavaType paramType = subtype.containedType(0);
         assertEquals(Long.class, paramType.getRawClass());
     }
@@ -44,37 +44,32 @@
     public void testCustomTypesRefinedNested()
     {
         TypeFactory tf = newTypeFactory();
-        JavaType type = tf.constructType(new TypeReference<Data1604<Long>>() { });
-        assertEquals(Data1604.class, type.getRawClass());
+        JavaType base = tf.constructType(new TypeReference<Data1604<List<Long>>>() { });
+        assertEquals(Data1604.class, base.getRawClass());
 
-        JavaType subtype = tf.constructSpecializedType(type, RefinedDataList1604.class);
+        JavaType subtype = tf.constructSpecializedType(base, RefinedDataList1604.class);
         assertEquals(RefinedDataList1604.class, subtype.getRawClass());
-        assertEquals(1, subtype.containedTypeCount());
+        assertEquals(DataList1604.class, subtype.getSuperClass().getRawClass());
 
-        // should properly resolve type parameter:
+        assertEquals(1, subtype.containedTypeCount());
         JavaType paramType = subtype.containedType(0);
         assertEquals(Long.class, paramType.getRawClass());
-
-        // and have correct parent too
-        assertEquals(DataList1604.class, subtype.getSuperClass().getRawClass());
     }
 
     public void testCustomTypesRefinedSneaky()
     {
         TypeFactory tf = newTypeFactory();
-        JavaType type = tf.constructType(new TypeReference<Data1604<Long>>() { });
-        assertEquals(Data1604.class, type.getRawClass());
+        JavaType base = tf.constructType(new TypeReference<Data1604<List<Long>>>() { });
+        assertEquals(Data1604.class, base.getRawClass());
 
-        JavaType subtype = tf.constructSpecializedType(type, SneakyDataList1604.class);
+        JavaType subtype = tf.constructSpecializedType(base, SneakyDataList1604.class);
         assertEquals(SneakyDataList1604.class, subtype.getRawClass());
         assertEquals(1, subtype.containedTypeCount());
-
-        // should properly resolve type parameter:
         JavaType paramType = subtype.containedType(0);
         assertEquals(Long.class, paramType.getRawClass());
 
         // and have correct parent too
-        assertEquals(Data1604.class, subtype.getSuperClass().getRawClass());
+        assertEquals(DataList1604.class, subtype.getSuperClass().getRawClass());
     }
 
     public void testTwoParamSneakyCustom()