monitor.beginTask(null, 100);
			public void execute(IProgressMonitor monitor) throws InterruptedException, InvocationTargetException {				try {					ISVNRemoteFolder[] folders = getSelectedRemoteFolders();												List targetProjects = new ArrayList();					Map targetFolders = new HashMap();					for (int i = 0; i < folders.length; i++) {						String name = folders[i].getName();						IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);						targetFolders.put(name, folders[i]);						targetProjects.add(project);					}										IResource[] projects = (IResource[]) targetProjects.toArray(new IResource[targetProjects.size()]);										PromptingDialog prompt = new PromptingDialog(getShell(), projects, 																  getOverwriteLocalAndFileSystemPrompt(), 																  Policy.bind("ReplaceWithAction.confirmOverwrite"));//$NON-NLS-1$					projects = prompt.promptForMultiple();																				monitor.beginTask(null, 100);					if (projects.length != 0) {						IProject[] localFolders = new IProject[projects.length];						ISVNRemoteFolder[] 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());						}												monitor.setTaskName(getTaskName(remoteFolders));												SVNWorkspaceRoot.checkout(remoteFolders, localFolders, Policy.subMonitorFor(monitor, 100));					}				} catch (TeamException e) {					throw new InvocationTargetException(e);				} finally {					monitor.done();				}			}