code: public Type wildUpperBound(Type t) {
          if (t.hasTag(WILDCARD)) {
              WildcardType w = (WildcardType) t;
              if (w.isSuperBound())
                  return w.bound == null ? syms.objectType : w.bound.bound;
              else
                  return wildUpperBound(w.type);
          }
          else return t;
      }
docs: Get a wildcard's upper bound, returning non-wildcards unchanged.
  @param t a type argument, either a wildcard or a type