code: public static Type resolveBound(TypeVariable<?> typeVariable) {
      Type[] bounds = typeVariable.getBounds();
      if (bounds.length == 0)
        return Unknown.class;
  
      Type bound = bounds[0];
      if (bound instanceof TypeVariable)
        bound = resolveBound((TypeVariable<?>) bound);
  
      return bound == Object.class ? Unknown.class : bound;
    }
docs: Resolves the first bound for the {@code typeVariable}, returning {@code Unknown.class} if none can be resolved.