SVNDebugLog.log(th);
SVNDebugLog.logInfo(th);
    public void report(ISVNReporter reporter) throws SVNException {        try {            SVNEntries targetEntries = myWCAccess.getTarget().getEntries();            SVNEntries anchorEntries = myWCAccess.getAnchor().getEntries();            SVNEntry targetEntry = anchorEntries.getEntry(myWCAccess                    .getTargetName(), true);            if (targetEntry == null                    || targetEntry.isHidden()                    || (targetEntry.isDirectory() && targetEntry                            .isScheduledForAddition())) {                long revision = anchorEntries.getEntry("", true).getRevision();                reporter                        .setPath("", null, revision,                                targetEntry != null ? targetEntry                                        .isIncomplete() : true);                reporter.deletePath("");                reporter.finishReport();                return;            }            long revision = targetEntry.isFile() ? targetEntry.getRevision()                    : targetEntries.getEntry("", true).getRevision();            if (revision < 0) {                revision = anchorEntries.getEntry("", true).getRevision();            }            reporter.setPath("", null, revision, targetEntry.isIncomplete());            boolean missing = !targetEntry.isScheduledForDeletion() &&                  !myWCAccess.getAnchor().getFile(myWCAccess.getTargetName()).exists();                        if (targetEntry.isDirectory()) {                if (missing) {                    reporter.deletePath("");                } else {                    reportEntries(reporter, myWCAccess.getTarget(), "",                            targetEntry.isIncomplete(), myIsRecursive);                }            } else if (targetEntry.isFile()) {                if (missing) {                    restoreFile(myWCAccess.getAnchor(), targetEntry.getName());                }                // report either linked path or entry path                String url = targetEntry.getURL();                SVNEntry parentEntry = targetEntries.getEntry("", true);                String parentURL = parentEntry.getURL();                String expectedURL = SVNPathUtil.append(parentURL, SVNEncodingUtil.uriEncode(targetEntry.getName()));                if (!expectedURL.equals(url)) {                    SVNURL svnURL = SVNURL.parseURIEncoded(url);                    reporter.linkPath(svnURL, "",                            targetEntry.getLockToken(), targetEntry                                    .getRevision(), false);                } else if (targetEntry.getRevision() != parentEntry                        .getRevision()                        || targetEntry.getLockToken() != null) {                    reporter.setPath("", targetEntry.getLockToken(),                            targetEntry.getRevision(), false);                }            }            reporter.finishReport();        } catch (Throwable th) {            SVNDebugLog.log(th);            try {                reporter.abortReport();            } catch (SVNException e) {                SVNDebugLog.log(e);            }            if (th instanceof SVNException) {                throw (SVNException) th;            }            SVNErrorManager                    .error("svn: Working copy state was not reported properly: "                            + th.getMessage());        }    }