return paramType; }  String qualifiedName= Bindings.getRawQualifiedName(binding); if (qualifiedName.length() > 0) { String res= internalAddImport(qualifiedName);
	public Type addImport(ITypeBinding binding, AST ast) {		if (binding.isPrimitive()) {			return ast.newPrimitiveType(PrimitiveType.toCode(binding.getName()));		}				ITypeBinding normalizedBinding= Bindings.normalizeTypeBinding(binding);		if (normalizedBinding == null) {			return ast.newSimpleType(ast.newSimpleName("invalid")); //$NON-NLS-1$		}				if (normalizedBinding.isTypeVariable()) {			// no import			return ast.newSimpleType(ast.newSimpleName(normalizedBinding.getName()));		}		if (normalizedBinding.isWildcardType()) {			WildcardType wcType= ast.newWildcardType();			ITypeBinding bound= normalizedBinding.getBound();			if (bound != null) {				Type boundType= addImport(bound, ast);				wcType.setBound(boundType, normalizedBinding.isUpperbound());			}			return wcType;		}				if (normalizedBinding.isArray()) {			Type elementType= addImport(normalizedBinding.getElementType(), ast);			return ast.newArrayType(elementType, normalizedBinding.getDimensions());		}				if (normalizedBinding.isParameterizedType()) {			ITypeBinding erasure= normalizedBinding.getErasure();						Type erasureType= addImport(erasure, ast);			ParameterizedType paramType= ast.newParameterizedType(erasureType);			List arguments= paramType.typeArguments();						ITypeBinding[] typeArguments= normalizedBinding.getTypeArguments();			for (int i= 0; i < typeArguments.length; i++) {				arguments.add(addImport(typeArguments[i], ast));			}			return paramType;		}				String qualifiedName= Bindings.getRawQualifiedName(binding);		if (qualifiedName.length() > 0) {			String res= internalAddImport(qualifiedName);			return ast.newSimpleType(ast.newSimpleName(res));		}		return ast.newSimpleType(ast.newSimpleName(normalizedBinding.getName()));	}