binding= selectedNode.getAST().resolveWellKnownType("java.lang.Object");
binding= ast.resolveWellKnownType("java.lang.Object");
	public static void addVoidMethodReturnsProposals(IInvocationContext context, IProblemLocation problem, Collection proposals) throws CoreException {		ICompilationUnit cu= context.getCompilationUnit();		CompilationUnit astRoot= context.getASTRoot();		ASTNode selectedNode= problem.getCoveringNode(astRoot);		if (selectedNode == null) {			return;		}		BodyDeclaration decl= ASTResolving.findParentBodyDeclaration(selectedNode);		if (decl instanceof MethodDeclaration && selectedNode.getNodeType() == ASTNode.RETURN_STATEMENT) {			ReturnStatement returnStatement= (ReturnStatement) selectedNode;			Expression expr= returnStatement.getExpression();			if (expr != null) {				ITypeBinding binding= Bindings.normalizeTypeBinding(expr.resolveTypeBinding());				if (binding == null) {					binding= selectedNode.getAST().resolveWellKnownType("java.lang.Object"); //$NON-NLS-1$				}				MethodDeclaration methodDeclaration= (MethodDeclaration) decl;				AST ast= astRoot.getAST();				ASTRewrite rewrite= ASTRewrite.create(ast);				String label= Messages.format(CorrectionMessages.ReturnTypeSubProcessor_voidmethodreturns_description, binding.getName());				Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);				LinkedCorrectionProposal proposal= new LinkedCorrectionProposal(label, cu, rewrite, 6, image);				String returnTypeName= proposal.getImportRewrite().addImport(binding);				Type newReturnType= ASTNodeFactory.newType(ast, returnTypeName);				if (methodDeclaration.isConstructor()) {					rewrite.set(methodDeclaration, MethodDeclaration.CONSTRUCTOR_PROPERTY, Boolean.FALSE, null);					rewrite.set(methodDeclaration, MethodDeclaration.RETURN_TYPE2_PROPERTY, newReturnType, null);				} else {					rewrite.replace(methodDeclaration.getReturnType2(), newReturnType, null);				}				String key= "return_type"; //$NON-NLS-1$				proposal.addLinkedPosition(rewrite.track(newReturnType), true, key);				ITypeBinding[] bindings= ASTResolving.getRelaxingTypes(ast, binding);				for (int i= 0; i < bindings.length; i++) {					proposal.addLinkedPositionProposal(key, bindings[i]);				}				Javadoc javadoc= methodDeclaration.getJavadoc();				if (javadoc != null) {					TagElement newTag= ast.newTagElement();					newTag.setTagName(TagElement.TAG_RETURN);					TextElement commentStart= ast.newTextElement();					newTag.fragments().add(commentStart);					JavadocTagsSubProcessor.insertTag(rewrite.getListRewrite(javadoc, Javadoc.TAGS_PROPERTY), newTag, null);					proposal.addLinkedPosition(rewrite.track(commentStart), false, "comment_start"); //$NON-NLS-1$				}				proposals.add(proposal);			}			ASTRewrite rewrite= ASTRewrite.create(decl.getAST());			rewrite.remove(returnStatement.getExpression(), null);			String label= CorrectionMessages.ReturnTypeSubProcessor_removereturn_description;			Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);			ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, cu, rewrite, 5, image);			proposals.add(proposal);		}	}