public static void addNonAccessibleMemberProposal(IAssistContext context, IProblemLocation problem, Collection proposals, int kind, int relevance) throws JavaModelException {
public static void addNonAccessibleMemberProposal(IInvocationContext context, IProblemLocation problem, Collection proposals, int kind, int relevance) throws JavaModelException {
	public static void addNonAccessibleMemberProposal(IAssistContext context, IProblemLocation problem, Collection proposals, int kind, int relevance) throws JavaModelException {		ICompilationUnit cu= context.getCompilationUnit();		ASTNode selectedNode= problem.getCoveringNode(context);		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;		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();		} else if (binding instanceof ITypeBinding) {			typeBinding= (ITypeBinding) binding;			name= binding.getName();		} else {			return;		}		if (typeBinding != null && typeBinding.isFromSource()) {			int includedModifiers= 0;			int excludedModifiers= 0;			String label;			if (kind == 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$			} else if (kind == TO_STATIC) {							label= CorrectionMessages.getFormattedString("ModifierCorrectionSubProcessor.changemodifiertostatic.description", name); //$NON-NLS-1$				includedModifiers= Modifier.STATIC;			} else if (kind == TO_NON_STATIC) {							label= CorrectionMessages.getFormattedString("ModifierCorrectionSubProcessor.changemodifiertononstatic.description", name); //$NON-NLS-1$				excludedModifiers= Modifier.STATIC;			} else if (kind == TO_NON_PRIVATE) {							label= CorrectionMessages.getFormattedString("ModifierCorrectionSubProcessor.changemodifiertodefault.description", name); //$NON-NLS-1$				excludedModifiers= Modifier.PRIVATE;			} else {				return;			}			ICompilationUnit targetCU= 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));			}		}	}