path = PathUtil.encode(path);
    public ISVNEditor getCommitEditor(String logMessage, Map locks, boolean keepLocks, ISVNWorkspaceMediator mediator) throws SVNException {        openConnection();        Map translatedLocks = null;        if (locks != null) {            translatedLocks = new HashMap(locks.size());            String root = getRepositoryRoot();            root = PathUtil.encode(root);            for (Iterator paths = locks.keySet().iterator(); paths.hasNext();) {                String path = (String) paths.next();                String lock = (String) locks.get(path);                                path = PathUtil.encode(path);                if (path.startsWith("/")) {                    path = PathUtil.append(root, path);                } else {                    path = getFullPath(path);                }                translatedLocks.put(path, lock);            }        }        myConnection.setLocks(translatedLocks, keepLocks);        return new DAVCommitEditor(this, myConnection, logMessage, mediator, new Runnable() {            public void run() {                closeConnection();            }        });    }