public static ZipFileBuilder loadAlreadyExistsZipFile(File par1File)
	        throws ZipException, IOException {
		ZipFile izf = null;
		ZipFileBuilder zfm = null;
		File tmpFile = new File(par1File.getAbsolutePath() + ".tmp");
		Enumeration<? extends ZipEntry> entries;
		par1File.renameTo(tmpFile);
		try {
			izf = new ZipFile(tmpFile);
			zfm = new ZipFileBuilder(par1File);
			entries = izf.entries();
			while (entries.hasMoreElements()) {
				ZipEntry entry = entries.nextElement();
				if (entry.isDirectory()) {
					zfm.createDirectory(entry.getName());
				} else {
					byte[] data = new byte[(int) entry.getSize()];
					izf.getInputStream(entry).read(data);
					zfm.createFile(entry.getName(), data);
				}
			}
		} catch (FileNotFoundException e) {
			return new ZipFileBuilder(par1File);
		} finally {
			if (izf != null) izf.close();
			tmpFile.delete();
		}
		return zfm;
	}