public ZipHandler(File album) {
        Logger.getLogger(ZipHandler.class.getName()).entering(ZipHandler.class.getName(), "ZipHandler", album);
        try {
            zipFile = new ZipFile(album, Charset.forName("IBM437"));
        } catch (IOException ex) {
            Logger.getLogger(ZipHandler.class.getName()).log(Level.SEVERE, "Cannot read the ZIP archive", ex);
            if (!ex.getMessage().equals("zip file is empty")) {
                new InfoInterface(InfoInterface.InfoLevel.ERROR, "file-read", album.getName());
            }
            Logger.getLogger(ZipHandler.class.getName()).exiting(ZipHandler.class.getName(), "ZipHandler");
            return;
        }
        
        Enumeration<? extends ZipEntry> zipEntries = zipFile.entries();
        List<? extends ZipEntry> entries = Collections.list(zipEntries);
        Collections.sort(entries, (ZipEntry o1, ZipEntry o2) -> o1.getName().compareTo(o2.getName()));
        ListIterator<? extends ZipEntry> it = entries.listIterator();
        while(it.hasNext()) {
            ZipEntry currentEntry = it.next();
            if (!currentEntry.isDirectory() && isAnImage(currentEntry.getName())) {
                imageEntries.add(currentEntry);
            }
        }
        Logger.getLogger(ZipHandler.class.getName()).exiting(ZipHandler.class.getName(), "ZipHandler");
    }