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/InsertCorrectionProposal.java
private String fInsertionString;
	private int  fOffset;
	public InsertCorrectionProposal(String label, ICompilationUnit cu, int offset, String insertString, int relevance) throws CoreException {
		super(label, cu, relevance);
		fInsertionString= insertString;
		fOffset= offset;
	}
	/*
	 * @see JavaCorrectionProposal#addEdits(CompilationUnitChange)
	 */
	protected void addEdits(CompilationUnitChange changeElement) throws CoreException {
		TextEdit edit= SimpleTextEdit.createInsert(fOffset, fInsertionString);
		changeElement.addTextEdit(getDisplayString(), edit);
	}
	
	public static int moveBack(int offset, int start, String ignoreCharacters, ICompilationUnit cu) {
		try {
			IBuffer buf= cu.getBuffer();
			while (offset >= start) {
				if (ignoreCharacters.indexOf(buf.getChar(offset - 1)) == -1) { 
					return offset;
				}
				offset--;
			}
		} catch(JavaModelException e) {
		}
		return start;
	}
}