Remove `getGenericType()` methods (deprecated since 2.7), bring back introspection for some JDK types
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/Annotated.java b/src/main/java/com/fasterxml/jackson/databind/introspect/Annotated.java
index fce7b9e..e373c72 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/Annotated.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/Annotated.java
@@ -3,10 +3,8 @@
 import java.lang.annotation.Annotation;
 import java.lang.reflect.AnnotatedElement;
 import java.lang.reflect.Modifier;
-import java.lang.reflect.Type;
 
 import com.fasterxml.jackson.databind.JavaType;
-import com.fasterxml.jackson.databind.type.TypeBindings;
 
 /**
  * Shared base class used for anything on which annotations (included
@@ -49,28 +47,6 @@
     public abstract JavaType getType();
 
     /**
-     * @deprecated Since 2.7 Use {@link #getType()} instead. To be removed from 2.9
-     */
-    @Deprecated
-    public final JavaType getType(TypeBindings bogus) {
-        return getType();
-    }
-
-    /**
-     * JDK declared generic type of the annotated element; definition
-     * of what exactly this means depends on sub-class. Note that such type
-     * cannot be reliably resolved without {@link TypeResolutionContext}, and
-     * as a result use of this method was deprecated in Jackson 2.7: see
-     * {@link #getType} for replacement.
-     *
-     * @deprecated Since 2.7 should instead use {@link #getType()}. To be removed from 2.9
-     */
-    @Deprecated
-    public Type getGenericType() {
-        return getRawType();
-    }
-
-    /**
      * "Raw" type (type-erased class) of the annotated element; definition
      * of what exactly this means depends on sub-class.
      */
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedClassResolver.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedClassResolver.java
index ce90f9c..ae47d67 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedClassResolver.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedClassResolver.java
@@ -57,7 +57,9 @@
         _primaryMixin = (r == null) ? null : r.findMixInClassFor(_class);
 
         // Also... JDK types do not have annotations that are of interest to us
-        _collectAnnotations = (_intr != null) && !ClassUtil.isJDKClass(_class);
+        // At least JDK container types
+        _collectAnnotations = (_intr != null) &&
+                (!ClassUtil.isJDKClass(_class) || !_type.isContainerType());
     }
 
     AnnotatedClassResolver(MapperConfig<?> config, Class<?> cls, MixInResolver r) {
@@ -75,7 +77,7 @@
             _primaryMixin = (r == null) ? null : r.findMixInClassFor(_class);
         }
 
-        _collectAnnotations = (_intr != null) && !ClassUtil.isJDKClass(_class);
+        _collectAnnotations = (_intr != null);
     }
 
     public static AnnotatedClass resolve(MapperConfig<?> config, JavaType forType,
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedField.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedField.java
index b81c51e..e905f95 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedField.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedField.java
@@ -75,12 +75,6 @@
         return _field.getType();
     }
 
-    @Deprecated
-    @Override
-    public Type getGenericType() {
-        return _field.getGenericType();
-    }
-    
     @Override
     public JavaType getType() {
         return _typeContext.resolveType(_field.getGenericType());
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedMethod.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedMethod.java
index 2338987..f6d6a99 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedMethod.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedMethod.java
@@ -87,12 +87,6 @@
         return _method.getReturnType();
     }
 
-    @Deprecated
-    @Override
-    public Type getGenericType() {
-        return _method.getGenericReturnType();
-    }
-
     /*
     /*****************************************************
     /* AnnotatedWithParams
diff --git a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedParameter.java b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedParameter.java
index 9835c35..f38ab57 100644
--- a/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedParameter.java
+++ b/src/main/java/com/fasterxml/jackson/databind/introspect/AnnotatedParameter.java
@@ -93,12 +93,6 @@
         return _type;
     }
 
-    @Deprecated
-    @Override
-    public Type getGenericType() {
-        return _owner.getGenericParameterType(_index);
-    }
-
     /*
     /**********************************************************
     /* AnnotatedMember extras
@@ -112,9 +106,8 @@
 
     @Override
     public Member getMember() {
-        /* This is bit tricky: since there is no JDK equivalent; can either
-         * return null or owner... let's do latter, for now.
-         */
+        // This is bit tricky: since there is no JDK equivalent; can either
+        // return null or owner... let's do latter, for now.
         return _owner.getMember();
     }