Bug 62938 quick fix list should pre-select what's already filled in [quick fix]
Maybe this is a feature request, but I've been having this problem for months and just now figured out what was causing it (I thought it was keystroke glitches on my part). When I select "add throws declaration" from quick fix, usually the desired exception is filled in (in linked edit mode), and I'm given a list to choose from if I want to change it. My inclination is to just hit "enter" signifing "accept", but the list actually has "Exception" selected (instead of IOException, in my typical case) so the value I wanted is changed and another used instead. To "work around" I have to change the selection, or hit "ESC", which seems unnatural to me.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ASTResolving.java
public static String getFullName(Name name) {
		return ASTNodes.asString(name);
	}
	
	public static ICompilationUnit findCompilationUnitForBinding(ICompilationUnit cu, CompilationUnit astRoot, ITypeBinding binding) throws JavaModelException {
		if (binding != null && binding.isFromSource() && astRoot.findDeclaringNode(binding) == null) {
			ICompilationUnit targetCU= Bindings.findCompilationUnit(binding, cu.getJavaProject());
			if (targetCU != null) {
				return targetCU;
			}
			return null;
		}
		return cu;
	}
	
	
	private static final Code[] CODE_ORDER= { PrimitiveType.CHAR, PrimitiveType.SHORT, PrimitiveType.INT, PrimitiveType.LONG, PrimitiveType.FLOAT, PrimitiveType.DOUBLE };
	
	public static ITypeBinding[] getRelaxingTypes(AST ast, ITypeBinding type) {
		HashSet res= new HashSet();
		res.add(type);
		if (type.isArray()) {
			res.add(ast.resolveWellKnownType("java.lang.Object")); 
			res.add(ast.resolveWellKnownType("java.io.Serializable")); 
			res.add(ast.resolveWellKnownType("java.lang.Cloneable")); 
		} else if (type.isPrimitive()) {
			Code code= PrimitiveType.toCode(type.getName());
			boolean found= false;
			for (int i= 0; i < CODE_ORDER.length; i++) {
				if (found) {