code: protected Type resolveTypeVariable(TypeVariable<?> typeVariable, GenericType<?> declaringType) {
  
      GenericDeclaration genericDeclaration = typeVariable.getGenericDeclaration();
      if (genericDeclaration instanceof Class<?>) {
        Class<?> declaringClass = (Class<?>) genericDeclaration;
        return resolveTypeVariable(typeVariable, declaringType, declaringClass);
      }
      return null;
    }
docs: This method resolves the given {@code typeVariable} in the context of the given {@code declaringType}.
  
  @param typeVariable the {@link TypeVariable} to resolve.
  @param declaringType the {@link GenericType} where the given {@code typeVariable} occurs or is replaced.
  @return the resolved {@link Type} or {@code null} if the given {@code typeVariable} could NOT be resolved
  (e.g. it was {@link TypeVariable#getGenericDeclaration() declared} in a {@link Class} that is NOT
  {@link Class#isAssignableFrom(Class) assignable from} the given {@code declaringType}) .