ASTNode selectedNode= problem.getCoveringNode(context);
ASTNode selectedNode= problem.getCoveringNode(context.getASTRoot());
	public static void addMissingReturnStatementProposals(IAssistContext context, IProblemLocation problem, Collection proposals) throws CoreException {		ICompilationUnit cu= context.getCompilationUnit();				ASTNode selectedNode= problem.getCoveringNode(context);		if (selectedNode == null) {			return;		}		BodyDeclaration decl= ASTResolving.findParentBodyDeclaration(selectedNode);		if (decl instanceof MethodDeclaration) {			MethodDeclaration methodDecl= (MethodDeclaration) decl;			Block block= methodDecl.getBody();			if (block == null) {				return;			}			ReturnStatement existingStatement= (selectedNode instanceof ReturnStatement) ? (ReturnStatement) selectedNode : null;			proposals.add( new MissingReturnTypeCorrectionProposal(cu, methodDecl, existingStatement, 6));										Type returnType= methodDecl.getReturnType();			if (!"void".equals(ASTNodes.asString(returnType))) { //$NON-NLS-1$				ASTRewrite rewrite= new ASTRewrite(methodDecl);				AST ast= methodDecl.getAST();				rewrite.markAsReplaced(returnType, ast.newPrimitiveType(PrimitiveType.VOID));				String label= CorrectionMessages.getString("ReturnTypeSubProcessor.changetovoid.description"); //$NON-NLS-1$				Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);				ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, cu, rewrite, 5, image);				proposal.ensureNoModifications();				proposals.add(proposal);							}		}	}