label= Messages.format(CorrectionMessages.UnresolvedElementsSubProcessor_createmethod_other_description, new Object[] { sig, targetCU.getElementName() } );
label= Messages.format(CorrectionMessages.UnresolvedElementsSubProcessor_createmethod_other_description, new Object[] { sig, senderDeclBinding.getName() } );
	private static void addNewMethodProposals(ICompilationUnit cu, CompilationUnit astRoot, Expression sender, List arguments, boolean isSuperInvocation, ASTNode invocationNode, String methodName, Collection proposals) throws JavaModelException {		ITypeBinding binding= null;		if (sender != null) {			binding= sender.resolveTypeBinding();		} else {			binding= Bindings.getBindingOfParentType(invocationNode);			if (isSuperInvocation && binding != null) {				binding= binding.getSuperclass();			}		}		if (binding != null && binding.isFromSource()) {			ITypeBinding senderDeclBinding= binding.getTypeDeclaration();			ICompilationUnit targetCU= ASTResolving.findCompilationUnitForBinding(cu, astRoot, senderDeclBinding);			if (targetCU != null) {				String label;				Image image;				ITypeBinding[] parameterTypes= getParameterTypes(arguments);				String sig= ASTResolving.getMethodSignature(methodName, parameterTypes);				if (ASTResolving.isUseableTypeInContext(parameterTypes, senderDeclBinding, false)) {					if (cu.equals(targetCU)) {						label= Messages.format(CorrectionMessages.UnresolvedElementsSubProcessor_createmethod_description, sig);						image= JavaPluginImages.get(JavaPluginImages.IMG_MISC_PRIVATE);					} else {						label= Messages.format(CorrectionMessages.UnresolvedElementsSubProcessor_createmethod_other_description, new Object[] { sig, targetCU.getElementName() } );						image= JavaPluginImages.get(JavaPluginImages.IMG_MISC_PUBLIC);					}					proposals.add(new NewMethodCompletionProposal(label, targetCU, invocationNode, arguments, senderDeclBinding, 5, image));				}				if (senderDeclBinding.isNested() && cu.equals(targetCU) && sender == null && Bindings.findMethodInHierarchy(senderDeclBinding, methodName, (ITypeBinding[]) null) == null) { // no covering method					ASTNode anonymDecl= astRoot.findDeclaringNode(senderDeclBinding);					if (anonymDecl != null) {						senderDeclBinding= Bindings.getBindingOfParentType(anonymDecl.getParent());						if (!senderDeclBinding.isAnonymous() && ASTResolving.isUseableTypeInContext(parameterTypes, senderDeclBinding, false)) {							String[] args= new String[] { sig, ASTResolving.getTypeSignature(senderDeclBinding) };							label= Messages.format(CorrectionMessages.UnresolvedElementsSubProcessor_createmethod_other_description, args);							image= JavaPluginImages.get(JavaPluginImages.IMG_MISC_PROTECTED);							proposals.add(new NewMethodCompletionProposal(label, targetCU, invocationNode, arguments, senderDeclBinding, 5, image));						}					}				}			}		}	}