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/CopyProjectAction.java
IProjectDescription newDescription = createDescription(
                            project, projectName, newLocation);
                    monitor.worked(50);
                    project.copy(newDescription, IResource.SHALLOW
                            | IResource.FORCE, monitor);
                    monitor.worked(50);
                } catch (CoreException e) {
                    recordError(e); 
                } finally {
                    monitor.done();
                }
            }
        };
        try {
            new ProgressMonitorJobsDialog(shell).run(true, true, op);
        } catch (InterruptedException e) {
            return false;
        } catch (InvocationTargetException e) {
            displayError(NLS.bind(IDEWorkbenchMessages.CopyProjectAction_internalError, e.getTargetException().getMessage()));
            return false;
        }
        return true;
    }
    /**
     * Query for a new project name and destination using the parameters in the existing
     * project.
     * @return Object []  or null if the selection is cancelled
     * @param project  the project we are going to copy.
     */
    protected Object[] queryDestinationParameters(IProject project) {