if (comment[0] == null) {
if (!commit) {
	public void execute(IAction action) throws InvocationTargetException, InterruptedException {		final IResource[] resources = getSelectedResources();		final RepositoryManager manager = SVNUIPlugin.getPlugin().getRepositoryManager();		final String[] comment = new String[] {null};		final IResource[][] resourcesToBeAdded = new IResource[][] { null };		run(new IRunnableWithProgress() {			public void run(IProgressMonitor monitor) throws InvocationTargetException {				try {					// search for any non-added, non-ignored resources in the selection					IResource[] unadded = getUnaddedResources(resources, monitor);					resourcesToBeAdded[0] = promptForResourcesToBeAdded(manager, unadded);					if (resourcesToBeAdded[0] == null) {						return;					}					comment[0] = promptForComment(manager, resources);				} catch (TeamException e) {					throw new InvocationTargetException(e);				}			}		}, true /* cancelable */, PROGRESS_BUSYCURSOR); //$NON-NLS-1$				if (comment[0] == null) {			return; // user canceled		}				run(new WorkspaceModifyOperation() {			public void execute(IProgressMonitor monitor) throws  InvocationTargetException {				try {					// execute the add and commit in a single SVN runnable so sync changes are batched					SVNProviderPlugin.run(						new ISVNRunnable() {							public void run(IProgressMonitor monitor) throws SVNException {								try {									int ticks=100;									monitor.beginTask(null, ticks);									if (resourcesToBeAdded[0].length > 0) {										int addTicks = 20;										manager.add(resourcesToBeAdded[0], Policy.subMonitorFor(monitor, addTicks));										ticks-=addTicks;									}									IResource[] shared = getSharedResources(resources);									if (shared.length == 0) {										return;									}									manager.commit(shared, comment[0], Policy.subMonitorFor(monitor,ticks));									for (int i = 0; i < resources.length; i++) {										IResource projectHandle = resources[i].getProject();										projectHandle.refreshLocal(IResource.DEPTH_INFINITE, monitor);									}								} catch (TeamException e) {									throw SVNException.wrapException(e);								} catch (CoreException e) {									throw SVNException.wrapException(e);								}							}						}, monitor);				} catch (SVNException e) {					throw new InvocationTargetException(e);				} finally {					monitor.done();				}			}		}, true /* cancelable */, PROGRESS_DIALOG); //$NON-NLS-1$	}