public final Set<String> openZipIn(final stone.util.Path zipFile) {
		if (!zipFile.exists()) {
			return null;
		}
		final Set<String> entriesRet = new HashSet<>();
		try {
			final ZipFile zip = new ZipFile(zipFile.toFile());
			final byte[] content = new byte[16000];

			final Enumeration<? extends ZipEntry> entries = zip.entries();
			while (entries.hasMoreElements()) {
				final ZipEntry zipEntry = entries.nextElement();
				final OutputStream out = openOut(zipFile.getParent()
						.resolve(zipEntry.getName()).toFile());
				final java.io.InputStream in = zip.getInputStream(zipEntry);
				int read;
				while ((read = in.read(content)) > 0) {
					out.write(content, 0, read);
				}
				in.close();
				close(out);
				entriesRet.add(zipEntry.getName());
			}
			zip.close();

			return entriesRet;
		} catch (final ZipException e) {
			return new HashSet<>();
		} catch (final IOException e) {
			handleException(ExceptionHandle.TERMINATE, e);
		}
		return null;
	}