createVersionedDirectory(dstPath, url, uuid, revNumber);
createVersionedDirectory(dstPath, url, repositoryRoot, uuid, revNumber);
    public long doCheckout(SVNURL url, File dstPath, SVNRevision pegRevision, SVNRevision revision, boolean recursive) throws SVNException {        if (dstPath == null) {            SVNErrorManager.error("svn: Destination path should be defined for check out");        }        SVNRepository repos = createRepository(url, null, pegRevision, revision);        long revNumber = getRevisionNumber(revision, repos, null);        SVNNodeKind targetNodeKind = repos.checkPath("", revNumber);        String uuid = repos.getRepositoryUUID();        if (targetNodeKind == SVNNodeKind.FILE) {            SVNErrorManager.error("svn: URL '" + url + "' refers to a file not a directory");        } else if (targetNodeKind == SVNNodeKind.NONE) {            SVNErrorManager.error("svn: URL '" + url + "' doesn't exist at revision " + revNumber);        }        long result = -1;        SVNWCAccess wcAccess = null;        SVNEntry entry = null;        try {            try {                wcAccess = createWCAccess(dstPath);                entry = wcAccess != null ? wcAccess.getTargetEntry() : null;            } catch (SVNException e) {                //            }            if (!dstPath.exists() || wcAccess == null || entry == null) {                createVersionedDirectory(dstPath, url, uuid, revNumber);                result = doUpdate(dstPath, revision, recursive);            } else if (dstPath.isDirectory() && entry != null) {                if (url.equals(entry.getSVNURL())) {                    result = doUpdate(dstPath, revision, recursive);                } else {                    SVNErrorManager.error("svn: working copy with different URL '" + entry.getURL() + "' already exists at checkout destination");                }            } else {                SVNErrorManager.error("svn: '" + dstPath + "' already exists and it is a file");            }        } finally {            sleepForTimeStamp();        }        return result;    }