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/NewVariableCompletionProposal.java
IType type= parentIsType ? (IType) fParentMember : fParentMember.getDeclaringType();
		int insertPos= MemberEdit.ADD_AT_BEGINNING;
		IJavaElement anchor= type;
		if (!parentIsType && fParentMember.getElementType() != IJavaElement.FIELD) {
			IField[] fields= type.getFields();
			if (fields.length > 0) {
				anchor= fields[fields.length - 1];
				insertPos= MemberEdit.INSERT_AFTER;
			}
		}
		MemberEdit memberEdit= new MemberEdit(anchor, insertPos, new String[] { content }, tabWidth);
		memberEdit.setUseFormatter(true);
		
		return memberEdit;
	}	
	private String generateStub(ImportEdit importEdit, SimpleName selectedNode) throws CoreException {
		StringBuffer buf= new StringBuffer();
		ITypeBinding varType= evaluateVariableType(importEdit, selectedNode);
				
		if (fVariableKind == FIELD) {
			buf.append("private "); 
			if (ASTResolving.isInStaticContext(selectedNode)) {
				buf.append("static "); 
			}			
		}
		
		buf.append(varType != null ? varType.getName() : "Object"); 
		buf.append(' ');
		buf.append(selectedNode.getIdentifier());
		if (fVariableKind == LOCAL) {