if (vb != null && fBadVarSet.contains(getCompilationUnitNode(varReference).findDeclaringNode(vb)))
if (vb != null && fBadVarSet.contains(getCompilationUnitNode(node).findDeclaringNode(vb)))
	private boolean isReferenceUpdatable(ASTNode varReference, Collection nodesToRemove) throws JavaModelException{		ASTNode parent= varReference.getParent();		if (parent instanceof VariableDeclarationFragment){			VariableDeclarationFragment r1= (VariableDeclarationFragment)parent;			if (varReference == r1.getInitializer()){				IVariableBinding vb= r1.resolveBinding();				if (vb != null && fBadVarSet.contains(getCompilationUnitNode(varReference).findDeclaringNode(vb)))					return false;			}		} else if (parent instanceof Assignment){			Assignment assmnt= (Assignment)parent;			if (varReference == assmnt.getRightHandSide()){				Expression lhs= assmnt.getLeftHandSide();				if (lhs instanceof SimpleName){					IBinding binding= ((SimpleName)lhs).resolveBinding();					if (binding != null && fBadVarSet.contains(getCompilationUnitNode(lhs).findDeclaringNode(binding)))						return false;				}			}		} else if (parent instanceof MethodInvocation){			MethodInvocation mi= (MethodInvocation)parent;			int argumentIndex= mi.arguments().indexOf(varReference);			if (argumentIndex != -1 ){				IBinding bin= mi.getName().resolveBinding();				if (! (bin instanceof IMethodBinding))					return false;				IMethod method= Binding2JavaModel.find((IMethodBinding)bin, getInputClass().getJavaProject());				ICompilationUnit cu= method.getCompilationUnit();				if (cu == null)					return false;				SingleVariableDeclaration parDecl= (SingleVariableDeclaration)getMethodDeclarationNode(method).parameters().get(argumentIndex);				if (fBadVarSet.contains(parDecl))					return false;			}		} else if (parent instanceof ReturnStatement){			MethodDeclaration md= (MethodDeclaration)ASTNodes.getParent(parent, MethodDeclaration.class);			if (nodesToRemove.contains(md.getReturnType()))				return false;		} 		return true;	}