if (!path.startsWith(copiedPath)) {
if (!path.startsWith(copiedPath + "/")) { continue; } else if (path.equals(copiedPath)) { return (SVNLogEntryPath) myCopiedPaths.get(copiedPath); } candidates.add(copiedPath); }  for(int i = candidates.size() - 1; i >=0; i--) { String candidateParent = (String) candidates.get(i); if (getSourceRepository().checkPath(candidateParent, myTargetRevision) != SVNNodeKind.DIR) {
    private SVNLogEntryPath getFileCopyOrigin(String path) throws SVNException {        Object[] paths = myCopiedPaths.keySet().toArray();        SVNLogEntryPath realPath = null;        for (int i = 0; i < paths.length; i++) {            String copiedPath = (String) paths[i];                        if (!path.startsWith(copiedPath)) {                continue;            }                        String relativePath = path.substring(copiedPath.endsWith("/") ? copiedPath.length() : copiedPath.length() + 1);            SVNLogEntryPath changedPath = (SVNLogEntryPath) myCopiedPaths.get(copiedPath);            String realFilePath = SVNPathUtil.concatToAbs(changedPath.getCopyPath(), relativePath);            SVNRepository repos = getSourceRepository();            if (repos.checkPath(realFilePath, changedPath.getCopyRevision()) == SVNNodeKind.FILE) {                realPath = new SVNLogEntryPath(path, ' ', realFilePath, changedPath.getCopyRevision());                break;            }        }        return realPath;    }