code: public ResolvedType alternateFor(ResolvedType type) {
      if (appliesTo(type)) {
        if (hasWildcards(original)) {
          return replaceWildcardsFrom(WildcardType.collectReplaceables(type, original), alternate);
        } else {
          return alternate;
        }
      }
      return type;
    }
docs: Provides alternate for supplier type.
  
  @param type the type
  @return the alternate for the type