parent.entries.put(path, new FileEntry(name, path, entry));
parent.entries.put(name, new FileEntry(name, path, entry));
    private void load() {        this.root = new DirEntry("<root>", "/");        // A path to DirEntry map        HashMap/*<String,DirEntry>*/ dirs = new HashMap();        dirs.put("/", root);        for (Enumeration e = archive.entries(); e.hasMoreElements(); ) {            ZipEntry entry = (ZipEntry)e.nextElement();            String path = entry.getName();            assert entry.isDirectory() == path.endsWith("/"): this +"-"+ path;            if (entry.isDirectory()) {                DirEntry dir = getDir(dirs, path);                assert dir.entry == null: this + " - " + path;                dir.entry = entry;            } else {                int index = path.lastIndexOf('/');                String name = index < 0 ? path : path.substring(index + 1);                String home = index < 0 ? "/"  : path.substring(0, index + 1);                DirEntry parent = getDir(dirs, home);                assert !parent.entries.containsKey(path): this + " - " + path;                parent.entries.put(path, new FileEntry(name, path, entry));            }        }    }