DebugLog.log("openConnection(): " + (System.currentTimeMillis() - start)); start = System.currentTimeMillis();
    public long getDir(String path, long revision, Map properties, ISVNDirEntryHandler handler) throws SVNException {        Long rev = getRevisionObject(revision);        // convert path to path relative to repos root.        try {            long start = System.currentTimeMillis();            openConnection();            DebugLog.log("openConnection(): " + (System.currentTimeMillis() - start));            start = System.currentTimeMillis();            path = getRepositoryPath(path);            Object[] buffer = new Object[] { "get-dir", path, rev, Boolean.valueOf(properties != null), Boolean.valueOf(handler != null) };            write("(w(s(n)ww))", buffer);            authenticate();            buffer[1] = properties;            buffer = read("[(N(*P)", buffer);            revision = buffer[0] != null ? SVNReader.getLong(buffer, 0) : revision;            if (handler != null) {                buffer[0] = handler;                read("(*D)))", buffer);            }            DebugLog.log("getDir() finished: " + (System.currentTimeMillis() - start));        } finally {            long start = System.currentTimeMillis();            closeConnection();            DebugLog.log("closeConnection(): " + (System.currentTimeMillis() - start));        }        return revision;    }