code: public Type cvarUpperBound(Type t) {
          if (t.hasTag(TYPEVAR)) {
              TypeVar v = (TypeVar) t;
              return v.isCaptured() ? cvarUpperBound(v.bound) : v;
          }
          else return t;
      }
docs: Get a capture variable's upper bound, returning other types unchanged.
  @param t a type