docs: static Type getSupertype(Type context, Class<?> contextRawType, Class<?> supertype) {
      if (!supertype.isAssignableFrom(contextRawType)) {
        throw new IllegalArgumentException();
      }
      return resolve(context, contextRawType,
          getGenericSupertype(context, contextRawType, supertype));
    }