code: public static Class<?> resolveType(Type genericType, Map<TypeVariable, Type> typeVariableMap) {
  		Type resolvedType = getRawType(genericType, typeVariableMap);
  		if (resolvedType instanceof GenericArrayType) {
  			Type componentType = ((GenericArrayType) resolvedType).getGenericComponentType();
  			Class<?> componentClass = resolveType(componentType, typeVariableMap);
  			resolvedType = Array.newInstance(componentClass, 0).getClass();
  		}
  		return (resolvedType instanceof Class ? (Class) resolvedType : Object.class);
  	}
docs: Resolve the specified generic type against the given TypeVariable map.
  @param genericType the generic type to resolve
  @param typeVariableMap the TypeVariable Map to resolved against
  @return the type if it resolves to a Class, or {@code Object.class} otherwise