Bug 96926 [quick fix] Change method return type quick fix gives invalid proposal for wildcard types
Against I20050527-0010: Code: void a() { ArrayList<? extends Number> b = null; return b.get(0); } Ask for a quick fix on the compile error. Three things happen: 1) BAD: The quick fix is entitled "Change method return type to '? extends Number'". 2) GOOD: The correct return type, Number, is shown originally. 3) BAD: However, the top completion proposal, and the one chosen if the user simply hits return, is "? extends Number", which creates a compile error.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ModifierCorrectionSubProcessor.java
listRewrite.insertFirst(newAnnotation, null);
			
			return new ASTRewriteCorrectionProposal("", cu, rewrite, 5, null); 
		}
		return null;
	}
	private static final String KEY_MODIFIER= "modifier"; 
	
	public static void installLinkedVisibilityProposals(LinkedCorrectionProposal proposal, ASTRewrite rewrite, List modifiers) {
		ASTNode modifier= findVisibilityModifier(modifiers);
		if (modifier != null) {
			int selected= ((Modifier) modifier).getKeyword().toFlagValue();
			proposal.addLinkedPosition(rewrite.track(modifier), false, KEY_MODIFIER);
			addLinkedPositionProposal(proposal, selected);
			
			
			int[] flagValues= { Modifier.PUBLIC, 0, Modifier.PROTECTED, Modifier.PRIVATE };
			for (int i= 0; i < flagValues.length; i++) {
				if (flagValues[i] != selected) {
					addLinkedPositionProposal(proposal, flagValues[i]);
				}
			}
		} 
	}
	
	private static void addLinkedPositionProposal(LinkedCorrectionProposal proposal, int flag) {
		if (flag == 0) {
			proposal.addLinkedPositionProposal(KEY_MODIFIER, CorrectionMessages.ModifierCorrectionSubProcessor_default_visibility_label, new String(), null);
		} else {
			String displayString= ModifierKeyword.fromFlagValue(flag).toString();