Platform.getJobManager().beginRule(localFolders[i], monitor);
Platform.getJobManager().beginRule(rule, monitor);
    public void execute(IProgressMonitor monitor) throws SVNException, InterruptedException {        monitor.beginTask(null, remoteFolders.length * 1000);        for (int i = 0; i < remoteFolders.length; i++) {            IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1000); 			try {				Platform.getJobManager().beginRule(localFolders[i], monitor);				monitor.setTaskName(Policy.bind("CheckoutAsProjectOperation.0", remoteFolders[i].getName())); //$NON-NLS-1$				IProject[] local = new IProject[1];				local[0] = localFolders[i];				ISVNRemoteFolder[] remote = new ISVNRemoteFolder[1];				remote[0] = remoteFolders[i];				execute(remote, local, subMonitor);			} finally {				Platform.getJobManager().endRule(localFolders[i]);			}                    }    }