My filemanager names copies you paste in the same directory as "filename(copy).ext" "filename(another copy).ext" "filename(3rd copy).ext" and there I got too bored to see what it did at 10 :)
I'm not sure this is really enough of a problem to need code added for it, do a lot of users clone files all the time? Just not sure it is needed.
Two comments on the implementation:
1) it is touching the filesystem to check the existence of the selected filename, which is fine if its a fast local SSD, but not so much for a remote SSHFS directory.
2) AFAICT it also changes the readonly behaviour, please do not include extra things in an implementation not described in the PR.
PS and extra :)
3) probably needs user documentation :)