SVNURL svnURL = SVNURL.parseURIEncoded(url); repos.update(svnURL, revNumber, target, recursive, reporter, editor);
repos.update(url, revNumber, target, recursive, reporter, editor);
    public long doSwitch(File file, String url, SVNRevision revision,            boolean recursive) throws SVNException {        url = validateURL(url);        long revNumber = getRevisionNumber(file, revision);        SVNWCAccess wcAccess = createWCAccess(file);        final SVNReporter reporter = new SVNReporter(wcAccess, true, recursive);        try {            wcAccess.open(true, recursive);            SVNUpdateEditor editor = new SVNUpdateEditor(wcAccess, url,                    recursive, isLeaveConflictsUnresolved());            SVNRepository repos = createRepository(wcAccess.getAnchor()                    .getEntries().getEntry("", true).getURL());            String target = "".equals(wcAccess.getTargetName()) ? null                    : wcAccess.getTargetName();            SVNURL svnURL = SVNURL.parseURIEncoded(url);            repos.update(svnURL, revNumber, target, recursive, reporter, editor);            if (editor.getTargetRevision() >= 0 && recursive                    && !isIgnoreExternals()) {                handleExternals(wcAccess);                dispatchEvent(SVNEventFactory.createUpdateCompletedEvent(                        wcAccess, editor.getTargetRevision()));            }            return editor.getTargetRevision();        } finally {            wcAccess.close(true);            if (!isDoNotSleepForTimeStamp()) {                SVNFileUtil.sleepForTimestamp();            }        }    }