type= (IType)WorkingCopyUtil.getWorkingCopyIfExists(type);
	private boolean isReferenceInInvocationUpdatable(ASTNode node, Collection nodesToRemove) throws JavaModelException{		ASTNode parent= node.getParent();		Assert.isTrue(isInvocation(parent));		                   		int argumentIndex= getArgumentIndexInInvocation(node);		if (argumentIndex == -1 )			return isReferenceUpdatable(parent, nodesToRemove);		IMethodBinding bin= resolveMethodBindingInInvocation(node);		if (bin == null)			return false;		IMethod method= Binding2JavaModel.find(bin, fInputClass.getJavaProject());		if (method == null)			return false;				if (method.getCompilationUnit() == null) {			if (fSuperTypeToUse == null)				return false;			IType type= JavaModelUtil.findType(fInputClass.getJavaProject(), Signature.toString(method.getParameterTypes()[argumentIndex]));			if (type == null)				return false;			if (fSuperTypeToUse.equals(type) || fSuperTypeSet.contains(type))				return true;			return false;		}			SingleVariableDeclaration parDecl= (SingleVariableDeclaration)getMethodDeclarationNode(method).parameters().get(argumentIndex);		return ! fBadVarSet.contains(parDecl);	}