public void doAnnotate(SVNURL url, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, ISVNAnnotateHandler handler) throws SVNException {
public void doAnnotate(File path, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, ISVNAnnotateHandler handler) throws SVNException {
    public void doAnnotate(SVNURL url, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, ISVNAnnotateHandler handler) throws SVNException {        if (startRevision == null || !startRevision.isValid()) {            startRevision = SVNRevision.create(1);        }        SVNRepository repos = createRepository(url, null, pegRevision, endRevision);        long endRev = getRevisionNumber(endRevision, repos, null);        long startRev = getRevisionNumber(startRevision, repos, null);        if (endRev < startRev) {            SVNErrorManager.error("svn: Start revision must precede end revision (" + startRev + ":" + endRev + ")");        }        File tmpFile = new File(System.getProperty("user.home"), ".javasvn");        if (!tmpFile.exists()) {            tmpFile.mkdirs();        }        doAnnotate(repos.getRepositoryPath(""), startRev, tmpFile, repos, endRev, handler);    }