code: public GenericsContext fieldTypeAs(final Field field, final Class<?> asType) {
          return switchContext4field(field).inlyingTypeAs(field.getGenericType(), asType);
      }
docs: Create generics context for type extending field type. Case: need to analyze field value type, but declared
  field type is generic sub type. In this situation we can build generics context from required root type
  (implementation type) with unknown generics and inject known subtype generics into hierarchy.
  This is useful when analyzing object instance (introspecting actual object).
  <p>
  Other than that, method is almost the same as {@link #fieldType(Field)}.
  
  @param field  field in current class hierarchy to resolve type from (may be field from superclass, relative to
  currently selected, in this case context type will be automatically switched)
  @param asType required actual root type (extending field type)
  @return generics context for required target type with correct field type's generics (inlying context)
  @throws IllegalArgumentException if field not belongs to any class in hierarchy
  @see #inlyingTypeAs(Type, Class)