error = e;
if (e.getMessage().indexOf("not locked") >= 0) { error = new SVNException("svn: Repository path '" + shortPath + "' is not locked"); } else { throw e; }
    public void unlock(Map pathToTokens, boolean force, ISVNLockHandler handler) throws SVNException {        try {            openConnection();            for (Iterator paths = pathToTokens.keySet().iterator(); paths.hasNext();) {                String path = (String) paths.next();                String id = (String) pathToTokens.get(path);                String repositoryPath = getRepositoryPath(path);                path = getFullPath(path);                path = SVNEncodingUtil.uriEncode(path);                SVNException error = null;                try {                    myConnection.doUnlock(path, id, force);                    error = null;                } catch (SVNException e) {                    error = e;                }                if (handler != null) {                    handler.handleUnlock(repositoryPath, new SVNLock(path, id, null, null, null, null), error);                }            }        } finally {            closeConnection();        }    }