Bug 106637 [quick fix] "Change method..." QuickFix loses final keyword.
If the "Change method..." QuickFix is applied, then the final keyword is lost. -------------------------- Bug.java ------------------ import java.util.*; class Bug { void foo(final HashMap map){} {foo(Collections.EMPTY_MAP);} }
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ChangeMethodSignatureProposal.java
}
		if (newMethodDecl instanceof MethodDeclaration) {
			MethodDeclaration decl= (MethodDeclaration) newMethodDecl;
			ASTRewrite rewrite= ASTRewrite.create(astRoot.getAST());
			if (fParameterChanges != null) {
				modifyParameters(rewrite, decl, isInDifferentCU);
			}
			if (fExceptionChanges != null) {
				modifyExceptions(rewrite, decl);
			}
			return rewrite;
		}
		return null;
	}
	private void modifyParameters(ASTRewrite rewrite, MethodDeclaration methodDecl, boolean isInDifferentCU) throws CoreException {
		AST ast= methodDecl.getAST();
		ArrayList usedNames= new ArrayList();
		boolean hasCreatedVariables= false;
		IVariableBinding[] declaredFields= fSenderBinding.getDeclaringClass().getDeclaredFields();
		for (int i= 0; i < declaredFields.length; i++) { 
			usedNames.add(declaredFields[i].getName());
		}
		ImportRewrite imports= getImportRewrite();
		ListRewrite listRewrite= rewrite.getListRewrite(methodDecl, MethodDeclaration.PARAMETERS_PROPERTY);
		List parameters= methodDecl.parameters(); 
		int k= 0; 
		for (int i= 0; i < fParameterChanges.length; i++) {
			ChangeDescription curr= fParameterChanges[i];
			if (curr == null) {
				SingleVariableDeclaration oldParam= (SingleVariableDeclaration) parameters.get(k);