SVNUIPlugin.log(e);
SVNUIPlugin.openError(shell,null,null,e); SVNUIPlugin.log(e);
	public void run() {		ISVNRepositoryLocation[] roots = getSelectedRemoteRoots();		if (roots.length == 0) return;		SVNProviderPlugin provider = SVNProviderPlugin.getPlugin();		for (int i = 0; i < roots.length; i++) {			try {					// Check if any projects are shared with the repository				IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();				final ArrayList shared = new ArrayList();				for (int j = 0; j < projects.length; j++) {					RepositoryProvider teamProvider = RepositoryProvider.getProvider(projects[j], SVNProviderPlugin.getTypeId());					if (teamProvider!=null) {						SVNTeamProvider svnProvider = (SVNTeamProvider)teamProvider;						if (svnProvider.getSVNWorkspaceRoot().getRepository().equals(roots[i])) {							shared.add(projects[j]);						}					}				}							// This will notify the RepositoryManager of the removal				if (!shared.isEmpty()) {					final String location = roots[i].getLocation();					shell.getDisplay().syncExec(new Runnable() {						public void run() {							DetailsDialogWithProjects dialog = new DetailsDialogWithProjects(								shell, 								Policy.bind("RemoteRootAction.Unable_to_Discard_Location_1"), //$NON-NLS-1$								Policy.bind("RemoteRootAction.Projects_in_the_local_workspace_are_shared_with__2", location), //$NON-NLS-1$								Policy.bind("RemoteRootAction.The_projects_that_are_shared_with_the_above_repository_are__4"), //$NON-NLS-1$								(IProject[]) shared.toArray(new IProject[shared.size()]),								false,								DetailsDialogWithProjects.DLG_IMG_ERROR);							dialog.open();						}					});				} else {					provider.getRepositories().disposeRepository(roots[i]);				}			} catch (SVNException e) {				SVNUIPlugin.log(e);			}		}	}