Bug 40409 quick fix: nonsensical proposal [quick fix]
20030716 void f(){ int i= f(); } the proposal you get is: 'change variable type to void' which makes no sense
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/LocalCorrectionsSubProcessor.java
IBinding binding= name.resolveBinding();
			if (binding != null) {
				proposals.add(new RemoveDeclarationCorrectionProposal(context.getCompilationUnit(), context.getASTRoot(), binding, 5));
			}
		}
	}
	public static void addSuperfluousSemicolonProposal(IInvocationContext context, IProblemLocation problem,  Collection proposals) throws CoreException {
		String label= CorrectionMessages.getString("LocalCorrectionsSubProcessor.removesemicolon.description"); 
		ReplaceCorrectionProposal proposal= new ReplaceCorrectionProposal(label, context.getCompilationUnit(), problem.getOffset(), problem.getLength(), "", 6); 
		proposals.add(proposal);
	}
	
	public static void addUnnecessaryCastProposal(IInvocationContext context, IProblemLocation problem,  Collection proposals) throws CoreException {
		ASTNode selectedNode= problem.getCoveringNode(context.getASTRoot());
		if (selectedNode instanceof CastExpression) {
			ASTRewrite rewrite= new ASTRewrite(selectedNode.getParent());
			
			CastExpression cast= (CastExpression) selectedNode;
			ASTNode placeholder= rewrite.createCopy(cast.getExpression());
			rewrite.markAsReplaced(selectedNode, placeholder);
			
			String label= CorrectionMessages.getString("LocalCorrectionsSubProcessor.unnecessarycast.description"); 
			Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE);
			ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, context.getCompilationUnit(), rewrite, 5, image);
			proposals.add(proposal);
		}
	}	
	
}