docs: public static String getNameWithTypeParameters(IType type) {
  		assert type != null;
  		final String superName = type.getFullyQualifiedName('.');
  		if (!JavaModelUtil.is50OrHigher(type.getJavaProject())) {
  			return superName;
  		}
  		try {
  			final ITypeParameter[] typeParameters = type.getTypeParameters();
  			if (typeParameters != null && typeParameters.length > 0) {
  				final StringBuffer buf = new StringBuffer(superName);
  				buf.append('<');
  				for (int k = 0; k < typeParameters.length; ++k) {
  					if (k != 0) {
  						buf.append(',').append(' ');
  					}
  					buf.append(typeParameters[k].getElementName());
  				}
  				buf.append('>');
  				return buf.toString();
  			}
  		} catch (JavaModelException e) {
  			// ignore
  		}
  		return superName;
  
  	}