Bug 123496 [IDE] Use operation validation API for IDE actions
We should use the Resources/Core operation validation API in the IDE actions for manipulating resources.
bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
if (existing != null) {
                    if (homogenousResources(source, existing))
                        moveExisting(source, existing, subMonitor);
                    else {
                        
                        
                        delete(existing, new SubProgressMonitor(subMonitor, 0));
                        source.move(destinationPath, IResource.SHALLOW
                                | IResource.KEEP_HISTORY,
                                new SubProgressMonitor(subMonitor, 0));
                    }
                } else {
                    source.move(destinationPath, IResource.SHALLOW
                            | IResource.KEEP_HISTORY, new SubProgressMonitor(
                            subMonitor, 0));
                }
                subMonitor.worked(1);
                if (subMonitor.isCanceled()) {
                    throw new OperationCanceledException();
                }
            }
        }
    }
    /**
     * Returns the message for querying deep copy/move of a linked 
     * resource.
     *
     * @param source resource the query is made for
     * @return the deep query message
     */