public final Map<String, AbstractInputStream> openInZip(
			final stone.util.Path zipFile) {
		if (!zipFile.exists()) {
			return null;
		}
		final ZipFile zip;
		final Map<String, AbstractInputStream> map = new HashMap<>();
		{
			ZipFile zipTmp = null;
			try {
				zipTmp = new ZipFile(zipFile.toFile());
			} catch (final Exception e) {
				Debug.print("%s\n", e.getMessage());
			}
			zip = zipTmp;
			if (zip == null) {
				return null;
			}
		}

		final Enumeration<? extends ZipEntry> entries = zip.entries();
		synchronized (this) {
			while (entries.hasMoreElements()) {
				final ZipEntry e = entries.nextElement();

				try {
					final AbstractInputStream in = new ZippedInputStream(zip, e);
					this.openStreams.add(new WeakReference<Closeable>(in));
					map.put(e.getName(), in);
				} catch (final IOException ioe) {
					Debug.print("%s\n", ioe.getMessage());
				}
			}
		}
		try {
			zip.close();
		} catch (final IOException e) {
			Debug.print("%s\n", e.getMessage());
		}
		return map;
	}