docs: public JvmParameterizedTypeReference newTypeRef(Notifier context, String typeName) {
  		JvmTypeReference typeReference;
  		try {
  			typeReference = findType(context, typeName);
  			getImportManager().addImportFor(typeReference.getType());
  			return (JvmParameterizedTypeReference) typeReference;
  		} catch (TypeNotPresentException exception) {
  		}
  		final JvmParameterizedTypeReference pref = ExpressionBuilderImpl.parseType(context, typeName, this);
  		final JvmTypeReference baseType = findType(context, pref.getType().getIdentifier());
  		final int len = pref.getArguments().size();
  		final JvmTypeReference[] args = new JvmTypeReference[len];
  		for (int i = 0; i < len; ++i) {
  			final JvmTypeReference original = pref.getArguments().get(i);
  			if (original instanceof JvmAnyTypeReference) {
  				args[i] = EcoreUtil.copy(original);
  			} else if (original instanceof JvmWildcardTypeReference) {
  				final JvmWildcardTypeReference wc = EcoreUtil.copy((JvmWildcardTypeReference) original);
  				for (final JvmTypeConstraint c : wc.getConstraints()) {
  					c.setTypeReference(newTypeRef(context, c.getTypeReference().getIdentifier()));
  				}
  				args[i] = wc;
  			} else {
  				args[i] = newTypeRef(context, original.getIdentifier());
  			}
  		}
  		final TypeReferences typeRefs = getTypeReferences();
  		return typeRefs.createTypeRef(baseType.getType(), args);
  	}