code: private ImmutableSet<Class<? super T>> getImmediateRawTypes() {
      // Cast from ImmutableSet<Class<?>> to ImmutableSet<Class<? super T>>
      @SuppressWarnings({"unchecked", "rawtypes"})
      ImmutableSet<Class<? super T>> result = (ImmutableSet) getRawTypes(runtimeType);
      return result;
    }
docs: Returns the raw type of the class or parameterized type; if {@code T} is type variable or
  wildcard type, the raw types of all its upper bounds are returned.