}
} else proceed = false;
			public void execute(IProgressMonitor monitor) throws InterruptedException, InvocationTargetException {			    try {					final ISVNRemoteFolder[] folders = getSelectedRemoteFolders();												List targetProjects = new ArrayList();					Map targetFolders = new HashMap();					monitor.beginTask(null, 100);					for (int i = 0; i < folders.length; i++) {					    proceed = true;					    if (folders[i].getRepository().getRepositoryRoot().toString().equals(folders[i].getUrl().toString())) {						    shell.getDisplay().syncExec(new Runnable() {	                            public void run() {	        					     proceed = MessageDialog.openQuestion(shell, Policy.bind("CheckoutAsProjectAction.title"), Policy.bind("AddToWorkspaceAction.checkingOutRoot")); //$NON-NLS-1$                               	                            }					        						    });					        					    }					    if (proceed) {							IProject project = SVNWorkspaceRoot.getProject(folders[i],monitor);							targetFolders.put(project.getName(), folders[i]);							targetProjects.add(project);					    } else return;					}										projects = (IResource[]) targetProjects.toArray(new IResource[targetProjects.size()]);										// if a project with the same name already exist, we ask the user if he want to overwrite it					PromptingDialog prompt = new PromptingDialog(getShell(), projects, 																  getOverwriteLocalAndFileSystemPrompt(), 																  Policy.bind("ReplaceWithAction.confirmOverwrite"));//$NON-NLS-1$					projects = prompt.promptForMultiple();																				if (projects.length != 0) {						localFolders = new IProject[projects.length];						remoteFolders = new ISVNRemoteFolder[projects.length];						for (int i = 0; i < projects.length; i++) {							localFolders[i] = (IProject)projects[i];							remoteFolders[i] = (ISVNRemoteFolder)targetFolders.get(projects[i].getName());						}					}				} catch (Exception e) {					throw new InvocationTargetException(e);				} finally {					monitor.done();				}			}