String url = null;
SVNURL url = null;
    public void doInfo(File path, SVNRevision revision, boolean recursive,            ISVNInfoHandler handler) throws SVNException {        if (handler == null) {            return;        }        if (!(revision == null || !revision.isValid() || revision == SVNRevision.WORKING)) {            SVNWCAccess wcAccess = createWCAccess(path);            SVNRevision wcRevision = null;            String url = null;            try {                wcAccess.open(false, false);                url = wcAccess.getTargetEntryProperty(SVNProperty.URL);                if (url == null) {                    SVNErrorManager.error("svn: '" + path.getAbsolutePath()                            + "' has no URL");                }                wcRevision = SVNRevision.parse(wcAccess                        .getTargetEntryProperty(SVNProperty.REVISION));            } finally {                wcAccess.close(false);            }            doInfo(url, wcRevision, revision, recursive, handler);            return;        }        SVNWCAccess wcAccess = createWCAccess(path);        try {            wcAccess.open(false, recursive);            collectInfo(wcAccess.getAnchor(), wcAccess.getTargetName(),                    recursive, handler);        } finally {            wcAccess.close(false);        }    }