}; try {
};  long latestRev = -1; if (isInvalidRevision(startRevision)) { startRevision = latestRev = getLatestRevision(); } if (isInvalidRevision(endRevision)) { endRevision = latestRev != -1 ? latestRev : getLatestRevision(); }  try {
    public long log(String[] targetPaths, long startRevision, long endRevision,            boolean changedPath, boolean strictNode, long limit, final ISVNLogEntryHandler handler) throws SVNException {        if (targetPaths == null || targetPaths.length == 0) {            targetPaths = new String[]{""};        }        DAVLogHandler davHandler = null;        ISVNLogEntryHandler cachingHandler = new ISVNLogEntryHandler() {                public void handleLogEntry(SVNLogEntry logEntry) throws SVNException {                    if (logEntry.getDate() != null) {                        getOptions().saveCommitMessage(DAVRepository.this, logEntry.getRevision(), logEntry.getMessage());                    }                    handler.handleLogEntry(logEntry);                }            };		try {			openConnection();			String[] fullPaths = new String[targetPaths.length];						for (int i = 0; i < targetPaths.length; i++) {				fullPaths[i] = getFullPath(targetPaths[i]);            }            Collection relativePaths = new HashSet();            String path = SVNPathUtil.condencePaths(fullPaths, relativePaths, false);            if (relativePaths.isEmpty()) {                relativePaths.add("");            }            fullPaths = (String[]) relativePaths.toArray(new String[relativePaths.size()]);            	        StringBuffer request = DAVLogHandler.generateLogRequest(null, startRevision, endRevision,	        		changedPath, strictNode, limit, fullPaths);	                    davHandler = new DAVLogHandler(cachingHandler, limit); 			long revision = Math.max(startRevision, endRevision);            path = SVNEncodingUtil.uriEncode(path);            DAVBaselineInfo info = DAVUtil.getBaselineInfo(myConnection, this, path, revision, false, false, null);            path = SVNPathUtil.append(info.baselineBase, info.baselinePath);            HTTPStatus status = myConnection.doReport(path, request, davHandler);            if (status.getError() != null && !davHandler.isCompatibleMode()) {                SVNErrorManager.error(status.getError());            }		} finally {			closeConnection();		}        return davHandler.getEntriesCount();    }