protected void ensureWritable() throws IOException { if (!writable) { ArchiveEntry viewEntry = view.createEntry(entry.getName()); try { copyEntry(entry, viewEntry); } finally { entry.close(); } entry = viewEntry; writable = true; } }