Bug 3926 issue copying file with duplicate name (1GF60YK)
I tried to copy a package.html file from one package to another using the "copy" menu entry in the packages view. The destination package already had a file called package.html so I was presented with a "Duplicate names" dialog. The dialog has two radio buttons, one for "replace element" and one for "rename to". Issues: - The replace button is grayed out - "Rename to" is ambiguous. Am I renaming the thing being copied or the file already at the destination. Since I actually wanted to overwrite the file and the rename renames the file being copied, I could not accomplish the task. Note that the copy action from the navigator works as desired. NOTES: KH (6/12/2001 7:11:31 AM) Moving to JUI for comment.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/reorg/ReorgDestinationAction.java
MultiStatus status= ClipboardActionUtil.perform(refactoring);
		if (status.isOK()) 
			return;
		JavaPlugin.log(status);
		ErrorDialog.openError(JavaPlugin.getActiveWorkbenchShell(), getActionName(), ReorgMessages.getString("ReorgDestinationAction.error"), status); 
	}	
		
	private static boolean ensureSaved(List elements, String actionName) {
		List unsavedEditors= new ArrayList();
		List unsavedElements= new ArrayList();
		
		collectUnsavedEditors(elements, unsavedEditors, unsavedElements);
		
		if (unsavedEditors.isEmpty())
			return true;
			
		ListSelectionDialog dialog = createUnsavedEditorDialog(unsavedElements);
		if (dialog.open() != dialog.OK)
			return false;
		
		IEditorPart[] unsavedEditorArray= (IEditorPart[]) unsavedEditors.toArray(new IEditorPart[unsavedEditors.size()]);
		IRunnableWithProgress r= createSaveEditorOperation(dialog.getResult(), unsavedEditorArray);
		try {
			new ProgressMonitorDialog(JavaPlugin.getActiveWorkbenchShell()).run(false, false, r);
		} catch (InvocationTargetException e) {
			ExceptionHandler.handle(e, actionName, ReorgMessages.getString("ReorgAction.exception.saving")); 
			return false;
		} catch (InterruptedException e) {
		}
		return true;