code: private static String wildcardTypeToString(final WildcardType w) {
          final StringBuilder buf = new StringBuilder().append('?');
          final Type[] lowerBounds = w.getLowerBounds();
          final Type[] upperBounds = w.getUpperBounds();
          if (lowerBounds.length > 1 || lowerBounds.length == 1 && lowerBounds[0] != null) {
              appendAllTo(buf.append(" super "), " & ", lowerBounds);
          } else if (upperBounds.length > 1 || upperBounds.length == 1 && !Object.class.equals(upperBounds[0])) {
              appendAllTo(buf.append(" extends "), " & ", upperBounds);
          }
          return buf.toString();
      }
docs: Format a {@link WildcardType} as a {@link String}.
  
  @param w {@code WildcardType} to format
  @return String
  @since 3.2