if (os != null) { try { os.close(); } catch (IOException e) { } }
SVNFileUtil.closeFile(os);
    public void save() throws SVNException {        Writer os = null;                try {            os = new OutputStreamWriter(new FileOutputStream(myTmpFile), "UTF-8");            for (Iterator commands = myCache.iterator(); commands.hasNext();) {                Map command = (Map) commands.next();                String name = (String) command.remove("");                os.write("<");                os.write(name);                for (Iterator attrs = command.keySet().iterator(); attrs.hasNext();) {                    String attr = (String) attrs.next();                    String value = (String) command.get(attr);                    if (value == null) {                        continue;                    }                    value = SVNTranslator.xmlEncode(value);                    os.write("\n   ");                    os.write(attr);                    os.write("=\"");                    os.write(value);                    os.write("\"");                }                os.write("/>\n");            }                    } catch (IOException e) {            SVNErrorManager.error(0, e);        } finally {            if (os != null) {                try {                    os.close();                } catch (IOException e) {                }            }            myCache = null;        }        try {            SVNFileUtil.rename(myTmpFile, myFile);            SVNFileUtil.setReadonly(myFile, true);        } catch (IOException e) {            SVNErrorManager.error(0, e);        }    }