if (kind == TO_VISIBLE && binding.getKind() == IBinding.VARIABLE && Modifier.isPrivate(binding.getModifiers())) {
if (kind == TO_VISIBLE && bindingDecl.getKind() == IBinding.VARIABLE && Modifier.isPrivate(bindingDecl.getModifiers())) {
	public static void addNonAccessibleReferenceProposal(IInvocationContext context, IProblemLocation problem, Collection proposals, int kind, int relevance) throws CoreException {		ICompilationUnit cu= context.getCompilationUnit();		ASTNode selectedNode= problem.getCoveringNode(context.getASTRoot());		if (selectedNode == null) {			return;		}				IBinding binding=null;		switch (selectedNode.getNodeType()) {			case ASTNode.SIMPLE_NAME:				binding= ((SimpleName) selectedNode).resolveBinding();				break;			case ASTNode.QUALIFIED_NAME:				binding= ((QualifiedName) selectedNode).resolveBinding();				break;			case ASTNode.SIMPLE_TYPE:				binding= ((SimpleType) selectedNode).resolveBinding();				break;			case ASTNode.METHOD_INVOCATION:				binding= ((MethodInvocation) selectedNode).getName().resolveBinding();				break;			case ASTNode.SUPER_METHOD_INVOCATION:				binding= ((SuperMethodInvocation) selectedNode).getName().resolveBinding();				break;			case ASTNode.FIELD_ACCESS:				binding= ((FieldAccess) selectedNode).getName().resolveBinding();				break;											case ASTNode.SUPER_FIELD_ACCESS:				binding= ((SuperFieldAccess) selectedNode).getName().resolveBinding();				break;							case ASTNode.CLASS_INSTANCE_CREATION:				binding= ((ClassInstanceCreation) selectedNode).resolveConstructorBinding();				break;			case ASTNode.SUPER_CONSTRUCTOR_INVOCATION:				binding= ((SuperConstructorInvocation) selectedNode).resolveConstructorBinding();				break;			default:				return;		}		ITypeBinding typeBinding= null;		String name;		boolean isLocalVar= false;		if (binding instanceof IMethodBinding) {			typeBinding= ((IMethodBinding) binding).getDeclaringClass();			name= binding.getName() + "()"; //$NON-NLS-1$		} else if (binding instanceof IVariableBinding) {			typeBinding= ((IVariableBinding) binding).getDeclaringClass();			name= binding.getName();			isLocalVar= !((IVariableBinding) binding).isField();		} else if (binding instanceof ITypeBinding) {			typeBinding= (ITypeBinding) binding;			name= binding.getName();		} else {			return;		}		if (typeBinding != null && typeBinding.isFromSource() || isLocalVar) {			int includedModifiers= 0;			int excludedModifiers= 0;			String label;			switch (kind) {				case TO_VISIBLE:					excludedModifiers= Modifier.PRIVATE | Modifier.PROTECTED | Modifier.PUBLIC;					includedModifiers= getNeededVisibility(selectedNode, typeBinding);					label= CorrectionMessages.getFormattedString("ModifierCorrectionSubProcessor.changevisibility.description", new String[] { name, getVisibilityString(includedModifiers) }); //$NON-NLS-1$					break;				case TO_STATIC:					label= CorrectionMessages.getFormattedString("ModifierCorrectionSubProcessor.changemodifiertostatic.description", name); //$NON-NLS-1$					includedModifiers= Modifier.STATIC;					break;				case TO_NON_STATIC:					label= CorrectionMessages.getFormattedString("ModifierCorrectionSubProcessor.changemodifiertononstatic.description", name); //$NON-NLS-1$					excludedModifiers= Modifier.STATIC;					break;				case TO_NON_PRIVATE:								label= CorrectionMessages.getFormattedString("ModifierCorrectionSubProcessor.changemodifiertodefault.description", name); //$NON-NLS-1$					excludedModifiers= Modifier.PRIVATE;					break;				case TO_NON_FINAL:						label= CorrectionMessages.getFormattedString("ModifierCorrectionSubProcessor.changemodifiertononfinal.description", name); //$NON-NLS-1$					excludedModifiers= Modifier.FINAL;					break;				default:					Assert.isTrue(false, "not supported"); //$NON-NLS-1$					return;			}			ICompilationUnit targetCU= isLocalVar ? cu : ASTResolving.findCompilationUnitForBinding(cu, context.getASTRoot(), typeBinding);			if (targetCU != null) {				Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);				proposals.add(new ModifierChangeCompletionProposal(label, targetCU, binding, selectedNode, includedModifiers, excludedModifiers, relevance, image));			}		}		if (kind == TO_VISIBLE && binding.getKind() == IBinding.VARIABLE && Modifier.isPrivate(binding.getModifiers())) {			if (selectedNode instanceof SimpleName || selectedNode instanceof FieldAccess && ((FieldAccess) selectedNode).getExpression() instanceof ThisExpression) {				UnresolvedElementsSubProcessor.getVariableProposals(context, problem, proposals);			}		}	}