Bug 23528 quick fix: adds bogus whitespaces on 'add throws declaration'
class A{ void a() throws Exception{ } void f(){ a(); } } qf the call to a() 'add throws declaration' you will get 'void f() throws Exception{' i have to go and fix it every time it used to work :(
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/LocalCorrectionsSubProcessor.java
proposals.add(proposal);
						}
					}
				}
			}
		}
	}
	public static void addMissingReturnTypeProposals(ProblemPosition problemPos, ArrayList proposals) throws CoreException {
		ICompilationUnit cu= problemPos.getCompilationUnit();
		
		CompilationUnit astRoot= AST.parseCompilationUnit(cu, true);
		ASTNode selectedNode= ASTResolving.findSelectedNode(astRoot, problemPos.getOffset(), problemPos.getLength());
		if (selectedNode != null) {
			BodyDeclaration decl= ASTResolving.findParentBodyDeclaration(selectedNode);
			if (decl instanceof MethodDeclaration) {
				final ITypeBinding[] res= new ITypeBinding[1];
				res[0]= null;
				
				decl.accept(new GenericVisitor() {
					public boolean visit(ReturnStatement node) {
						if (res[0] == null) {
							Expression expr= node.getExpression();
							if (expr != null) {
								ITypeBinding binding= expr.resolveTypeBinding();
								if (binding != null) {
									res[0]= binding;
								} else {
									res[0]= node.getAST().resolveWellKnownType("java.lang.Object"); 
								}
							} else {