label= CorrectionMessages.getFormattedString("LocalCorrectionsSubProcessor.changeaccesstostatic.description", name);
label= CorrectionMessages.getFormattedString("LocalCorrectionsSubProcessor.changemodifiertostatic.description", name);
	public static void addStaticMethodRequestedProposal(ProblemPosition problemPos, ArrayList proposals) throws JavaModelException {		ICompilationUnit cu= problemPos.getCompilationUnit();		CompilationUnit astRoot= AST.parseCompilationUnit(cu, true);		ASTNode selectedNode= ASTResolving.findSelectedNode(astRoot, problemPos.getOffset(), problemPos.getLength());				IBinding binding=null;		if (selectedNode instanceof SimpleName) {			binding= ((SimpleName) selectedNode).resolveBinding();		} else if (selectedNode instanceof QualifiedName) {			binding= ((QualifiedName) selectedNode).resolveBinding();		} else if (selectedNode instanceof SimpleType) {			binding= ((SimpleType) selectedNode).resolveBinding();		} else if (selectedNode instanceof MethodInvocation) {			binding= ((MethodInvocation) selectedNode).getName().resolveBinding();		} else if (selectedNode instanceof SuperMethodInvocation) {			binding= ((SuperMethodInvocation) selectedNode).getName().resolveBinding();		} else if (selectedNode instanceof SuperFieldAccess) {			binding= ((SuperFieldAccess) selectedNode).getName().resolveBinding();			} else if (selectedNode instanceof ClassInstanceCreation) {			binding= ((ClassInstanceCreation) selectedNode).resolveConstructorBinding();			} else if (selectedNode instanceof SuperConstructorInvocation) {			binding= ((SuperConstructorInvocation) selectedNode).resolveConstructorBinding();		}		ITypeBinding typeBinding= null;		String name;		if (binding instanceof IMethodBinding) {			typeBinding= ((IMethodBinding) binding).getDeclaringClass();			name= binding.getName() + "()";		} 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.isFromSource()) {			int includedModifiers= 0;			int excludedModifiers= 0;			String label;			switch (problemPos.getId()) {			case IProblem.StaticMethodRequested:				label= CorrectionMessages.getFormattedString("LocalCorrectionsSubProcessor.changeaccesstostatic.description", name);				includedModifiers= Modifier.STATIC;				break;			case IProblem.NotVisibleMethod:			case IProblem.NotVisibleConstructor:			case IProblem.NotVisibleField:			case IProblem.NotVisibleType:				excludedModifiers= Modifier.PRIVATE | Modifier.PROTECTED | Modifier.PUBLIC;				includedModifiers= getNeededVisibility(selectedNode, typeBinding);				label= CorrectionMessages.getFormattedString("LocalCorrectionsSubProcessor.changevisibility.description", new String[] { name, getVisibilityString(includedModifiers) });				break;			default:				return;			}			ICompilationUnit targetCU= Binding2JavaModel.findCompilationUnit(typeBinding, cu.getJavaProject());			Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);			proposals.add(new ModifierChangeCompletionProposal(label, targetCU, binding, selectedNode, includedModifiers, excludedModifiers, 0, image));		}	}