Minor test refactoring (move straggler object id tests under 'struct')
diff --git a/src/main/java/com/fasterxml/jackson/databind/node/ArrayNode.java b/src/main/java/com/fasterxml/jackson/databind/node/ArrayNode.java
index a862c70..e32efba 100644
--- a/src/main/java/com/fasterxml/jackson/databind/node/ArrayNode.java
+++ b/src/main/java/com/fasterxml/jackson/databind/node/ArrayNode.java
@@ -28,7 +28,7 @@
     protected JsonNode _at(JsonPointer ptr) {
         return get(ptr.getMatchingIndex());
     }
-    
+
     // note: co-variant to allow caller-side type safety
     @SuppressWarnings("unchecked")
     @Override
diff --git a/src/test/java/com/fasterxml/jackson/databind/deser/TestUntypedDeserialization.java b/src/test/java/com/fasterxml/jackson/databind/deser/TestUntypedDeserialization.java
index 7281d33..da6ceab 100644
--- a/src/test/java/com/fasterxml/jackson/databind/deser/TestUntypedDeserialization.java
+++ b/src/test/java/com/fasterxml/jackson/databind/deser/TestUntypedDeserialization.java
@@ -4,9 +4,7 @@
 import java.util.*;
 
 import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
-
 import com.fasterxml.jackson.core.*;
-
 import com.fasterxml.jackson.databind.*;
 import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping;
 import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
@@ -14,27 +12,24 @@
 import com.fasterxml.jackson.databind.module.SimpleModule;
 
 /**
- * Unit tests for verifying "old" data binding from JSON to JDK objects;
+ * Unit tests for verifying "raw" (or "untyped") data binding from JSON to JDK objects;
  * one that only uses core JDK types; wrappers, Maps and Lists.
  */
+@SuppressWarnings("serial")
 public class TestUntypedDeserialization
     extends BaseMapTest
 {
-    @SuppressWarnings("serial")
     static class UCStringDeserializer
         extends StdScalarDeserializer<String>
     {
         public UCStringDeserializer() { super(String.class); }
 
         @Override
-        public String deserialize(JsonParser jp, DeserializationContext ctxt)
-            throws IOException, JsonProcessingException
-        {
+        public String deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
             return jp.getText().toUpperCase();
         }
     }
 
-    @SuppressWarnings("serial")
     static class CustomNumberDeserializer
         extends StdScalarDeserializer<Number>
     {
@@ -46,15 +41,14 @@
         }
 
         @Override
-        public Number deserialize(JsonParser jp, DeserializationContext ctxt)
-            throws IOException, JsonProcessingException
-        {
+        public Number deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
             return value;
         }
     }
 
-    @SuppressWarnings("serial")
+    // Let's make this Contextual, to tease out cyclic resolution issues, if any
     static class ListDeserializer extends StdDeserializer<List<Object>>
+        implements ContextualDeserializer
     {
         public ListDeserializer() { super(List.class); }
 
@@ -68,9 +62,19 @@
             }
             return list;
         }
+
+        @Override
+        public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
+                BeanProperty property) throws JsonMappingException
+        {
+            // For now, we just need to access "untyped" deserializer; not use it.
+            
+            /*JsonDeserializer<Object> ob = */
+            ctxt.findContextualValueDeserializer(ctxt.constructType(Object.class), property);
+            return this;
+        }
     }
 
-    @SuppressWarnings("serial")
     static class MapDeserializer extends StdDeserializer<Map<String,Object>>
     {
         public MapDeserializer() { super(Map.class); }
diff --git a/src/test/java/com/fasterxml/jackson/databind/deser/TestForwardReference.java b/src/test/java/com/fasterxml/jackson/databind/struct/TestForwardReference.java
similarity index 97%
rename from src/test/java/com/fasterxml/jackson/databind/deser/TestForwardReference.java
rename to src/test/java/com/fasterxml/jackson/databind/struct/TestForwardReference.java
index aaeaeb1..87a5ce1 100644
--- a/src/test/java/com/fasterxml/jackson/databind/deser/TestForwardReference.java
+++ b/src/test/java/com/fasterxml/jackson/databind/struct/TestForwardReference.java
@@ -1,4 +1,4 @@
-package com.fasterxml.jackson.databind.deser;
+package com.fasterxml.jackson.databind.struct;
 
 import java.io.IOException;
 
diff --git a/src/test/java/com/fasterxml/jackson/databind/struct/TestObjectIdDeserialization.java b/src/test/java/com/fasterxml/jackson/databind/struct/TestObjectIdDeserialization.java
index 78f0cf6..d3cbdce 100644
--- a/src/test/java/com/fasterxml/jackson/databind/struct/TestObjectIdDeserialization.java
+++ b/src/test/java/com/fasterxml/jackson/databind/struct/TestObjectIdDeserialization.java
@@ -330,8 +330,7 @@
         }
     }
 
-    public void testKeepCollectionOrdering()
-        throws Exception
+    public void testKeepCollectionOrdering() throws Exception
     {
         String json = "{\"employees\":[2,1,"
                 + "{\"id\":1,\"name\":\"First\",\"manager\":null,\"reports\":[2]},"
diff --git a/src/test/java/com/fasterxml/jackson/databind/deser/TestParentChildReferences.java b/src/test/java/com/fasterxml/jackson/databind/struct/TestParentChildReferences.java
similarity index 99%
rename from src/test/java/com/fasterxml/jackson/databind/deser/TestParentChildReferences.java
rename to src/test/java/com/fasterxml/jackson/databind/struct/TestParentChildReferences.java
index 3ca2b19..1a6a264 100644
--- a/src/test/java/com/fasterxml/jackson/databind/deser/TestParentChildReferences.java
+++ b/src/test/java/com/fasterxml/jackson/databind/struct/TestParentChildReferences.java
@@ -1,4 +1,4 @@
-package com.fasterxml.jackson.databind.deser;
+package com.fasterxml.jackson.databind.struct;
 
 import java.util.*;