private void unzip(URL resource, File outputDir) throws IOException {
assertNotNull(resource);
File tmpFile = new File(outputDir, resource.getFile().replaceAll(".*/", ""));
copyAndClose(resource.openStream(), new FileOutputStream(tmpFile));
ZipFile zipFile = new ZipFile(tmpFile);
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = entries.nextElement();
File entryDestination = new File(outputDir, entry.getName());
entryDestination.getParentFile().mkdirs();
if (entryDestination.isDirectory()) {