private void checkoutProject(final IProgressMonitor pm, RemoteFolder resource, ISVNClientAdapter svnClient, File destPath) throws SVNException {
private void checkoutProject(final IProgressMonitor pm, ISVNRemoteFolder resource, ISVNClientAdapter svnClient, File destPath) throws SVNException {
	private void checkoutProject(final IProgressMonitor pm, RemoteFolder resource, ISVNClientAdapter svnClient, File destPath) throws SVNException {		final IProgressMonitor subPm = Policy.infiniteSubMonitorFor(pm, 800);		OperationManager operationHandler = OperationManager				.getInstance();		ISVNNotifyListener notifyListener = new ISVNNotifyAdapter() {			public void logMessage(String message) {				if (pm != null)				{					subPm.worked(1);					subPm.subTask(message);				}			}		};		try {			subPm.beginTask("", 1000);			operationHandler.beginOperation(svnClient, notifyListener);			svnClient.checkout(resource.getUrl(), destPath,					SVNRevision.HEAD, true);			if (subPm != null) {				subPm.subTask(" ");				subPm.done();			}		} catch (SVNClientException e) {			throw new SVNException("cannot checkout");		} finally {			operationHandler.endOperation();		}	}