} catch (SVNException e) { handleUnsupportedCommand(e, "Server doesn't support the lock command");
    public void lock(Map pathsToRevisions, String comment, boolean force, ISVNLockHandler handler) throws SVNException {        try {            openConnection();            for(Iterator paths = pathsToRevisions.keySet().iterator(); paths.hasNext();) {                String path = (String) paths.next();                Long revision = (Long) pathsToRevisions.get(path);                path = getRepositoryPath(path);                Object[] buffer = new Object[] { "lock", path, comment, Boolean.valueOf(force), revision };                write("(w(s(s)w(n)))", buffer);                authenticate();                SVNErrorMessage error = null;                try {                    read("[(L)]", buffer);                } catch (SVNException e) {                    error = e.getErrorMessage();                }                if (handler != null) {                    SVNLock lock = (SVNLock) buffer[0];                    handler.handleLock(path, lock, error);                }            }        } finally {            closeConnection();        }    }