delete();
    public void run(SVNLogRunner runner) throws SVNException {        if (!myFile.exists()) {            return;        }        BufferedReader reader = null;        Collection commands = new ArrayList();        try {            reader = new BufferedReader(new FileReader(myFile));            String line;            Map attrs = new HashMap();            String name = null;            while((line = reader.readLine()) != null) {                line = line.trim();                if (line.startsWith("<")) {                    name = line.substring(1);                    continue;                } else {                    int index = line.indexOf('=');                    if (index > 0) {                        String attrName = line.substring(0, index).trim();                        String value = line.substring(index + 1).trim();                        if (value.startsWith("\"")) {                            value = value.substring(1);                        }                        if (value.endsWith("\"")) {                            value = value.substring(0, value.length() - 1);                                                    }                        value = SVNTranslator.xmlDecode(value);                        attrs.put(attrName, value);                    }                                    }                if (line.endsWith("/>") && name != null) {                    // run command                    attrs.put("", name);                    commands.add(attrs);                    attrs = new HashMap();                    name = null;                }            }            delete();        } catch (IOException e) {            SVNErrorManager.error(0, e);        }         for (Iterator cmds = commands.iterator(); cmds.hasNext();) {            Map command = (Map) cmds.next();            String name = (String) command.remove("");            if (runner != null) {                try {                    runner.runCommand(myDirectory, name, command);                    cmds.remove();                } catch (Throwable th) {                    command.put("", name);                    // save all non-runned commands.                    myCache = commands;                    save();                    SVNErrorManager.error(0, th);                }            }        }    }