Bug 102142 [quick fix] Change method signature quick fix renames parameter
In 3.1. Code: public class Foo { Foo(String string) { System.out.println("" + string); } private void bar() { new Foo(3); } } The compile error on new Foo(3) offers a quick fix: "Change constructor Foo(String) to Foo(int)". Selecting it changes not only the type, but the name of the parameter: String string becomes int i. Accepting this default leads to a compile error.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ChangeMethodSignatureProposal.java
ASTNode newNode= ASTNodeFactory.newName(ast, type);
				listRewrite.replace(oldNode, newNode, null);
				String key= getExceptionTypeGroupId(i);
				addLinkedPosition(rewrite.track(newNode), false, key);
				k++;
				TagElement tagNode= findThrowsTag(methodDecl, oldNode);
				if (tagNode != null) {
					ASTNode newRef= ASTNodeFactory.newName(ast, type);
					rewrite.replace((ASTNode) tagNode.fragments().get(0), newRef, null);
					addLinkedPosition(rewrite.track(newRef), false, key);
				}
			} else if (curr instanceof SwapDescription) {
				Name decl1= (Name) exceptions.get(k);
				Name decl2= (Name) exceptions.get(((SwapDescription) curr).index);
				rewrite.replace(decl1, rewrite.createCopyTarget(decl2), null);
				rewrite.replace(decl2, rewrite.createCopyTarget(decl1), null);
				k++;
				TagElement tagNode1= findThrowsTag(methodDecl, decl1);
				TagElement tagNode2= findThrowsTag(methodDecl, decl2);
				if (tagNode1 != null && tagNode2 != null) {
					rewrite.replace(tagNode1, rewrite.createCopyTarget(tagNode2), null);
					rewrite.replace(tagNode2, rewrite.createCopyTarget(tagNode1), null);
				}
			}
		}
	}
	private void insertTabStop(ASTRewrite rewriter, List fragments, String linkedName) {
		TextElement textElement= rewriter.getAST().newTextElement();
		textElement.setText(""); 
		fragments.add(textElement);