Bug 57822 Add new suggestion 'throw new Exception' to 'throw Exception' [quick fix]
I (accidentally) typed in: throw RuntimeException("message"); in my code (which of course didn't compile). The quick-fix suggestion was to create a method called 'RuntimeException', but it should hopefully have also detected that RuntimeException is the name of a known Exception, and suggested instead 'throw new RuntimeException("message")' which is of course the one that I wanted. Obviously a minor enhancement, but a feature request all the same.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/UnresolvedElementsSubProcessor.java
if (invocationNode.getNodeType() == ASTNode.CAST_EXPRESSION) {
				label= CorrectionMessages.getString("UnresolvedElementsSubProcessor.sendercast.description"); 
			} else {
				label= CorrectionMessages.getString("UnresolvedElementsSubProcessor.changesendercast.description"); 
			}
			proposals.add(new CastCompletionProposal(label, cu, sender, null, 3));
		}
	}
	private static boolean useExistingParentCastProposal(ICompilationUnit cu, CastExpression expression, Expression accessExpression, SimpleName accessSelector, ITypeBinding[] paramTypes, Collection proposals) {
		ITypeBinding castType= expression.getType().resolveBinding();
		if (castType == null) {
			return false;
		}
		if (paramTypes != null) {
			if (Bindings.findMethodInHierarchy(castType, accessSelector.getIdentifier(), paramTypes) == null) {
				return false;
			}
		} else if (Bindings.findFieldInHierarchy(castType, accessSelector.getIdentifier()) == null) {
			return false;
		}
		ITypeBinding bindingToCast= accessExpression.resolveTypeBinding();
		if (bindingToCast != null && !TypeRules.canCast(castType, bindingToCast)) {
			return false;
		}
		
		IMethodBinding res= Bindings.findMethodInHierarchy(castType, accessSelector.getIdentifier(), paramTypes);
		if (res != null) {
			AST ast= expression.getAST();
			ASTRewrite rewrite= ASTRewrite.create(ast);
			CastExpression newCast= ast.newCastExpression();