SVNEntry rootEntry = (SVNEntry)entries.get(getThisDirName());
SVNEntry2 rootEntry = (SVNEntry2)entries.get(getThisDirName());
    protected Map fetchEntries() throws SVNException {        if (!myEntriesFile.exists()) {            return null;        }        Map entries = new TreeMap();                BufferedReader reader = null;        try {            reader = new BufferedReader(new InputStreamReader(SVNFileUtil.openFileForReading(myEntriesFile), "UTF-8"));            String line;            Map entry = null;            while ((line = reader.readLine()) != null) {                line = line.trim();                if (line.equals("<entry")) {                    entry = new HashMap();                    continue;                }                if (entry != null) {                    if (line.indexOf('=') <= 0 || line.indexOf('\"') <= 0 ||                             line.indexOf('\"') == line.lastIndexOf('\"')) {                        continue;                    }                    String name = line.substring(0, line.indexOf('='));                    String value = line.substring(line.indexOf('\"') + 1,                             line.lastIndexOf('\"'));                    value = SVNEncodingUtil.xmlDecode(value);                    entry.put(SVNProperty.SVN_ENTRY_PREFIX + name, value);                    if (line.charAt(line.length() - 1) == '>') {                        String entryName = (String) entry.get(SVNProperty.NAME);                        if (entryName == null) {                            return entries;                        }                        entries.put(entryName, new SVNEntry(entry, this, entryName));                        if (!getThisDirName().equals(entryName)) {                            SVNEntry rootEntry = (SVNEntry)entries.get(getThisDirName());                            if (rootEntry != null) {                                Map rootEntryAttrs = rootEntry.asMap();                                if (entry.get(SVNProperty.REVISION) == null) {                                    entry.put(SVNProperty.REVISION, rootEntryAttrs.get(SVNProperty.REVISION));                                }                                if (entry.get(SVNProperty.URL) == null) {                                    String url = (String) rootEntryAttrs.get(SVNProperty.URL);                                    if (url != null) {                                        url = SVNPathUtil.append(url, SVNEncodingUtil.uriEncode(entryName));                                    }                                    entry.put(SVNProperty.URL, url);                                }                                if (entry.get(SVNProperty.UUID) == null) {                                    entry.put(SVNProperty.UUID, rootEntryAttrs.get(SVNProperty.UUID));                                }                                if (entry.get(SVNProperty.REPOS) == null && rootEntryAttrs.get(SVNProperty.REPOS) != null) {                                    entry.put(SVNProperty.REPOS, rootEntryAttrs.get(SVNProperty.REPOS));                                }                            }                        }                        entry = null;                    }                }            }        } catch (IOException e) {            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.IO_ERROR, "Cannot read entries file ''{0}'': {1}", new Object[] {myEntriesFile, e.getLocalizedMessage()});            SVNErrorManager.error(err, e);        } finally {            SVNFileUtil.closeFile(reader);        }        return entries;    }