code: private static void extractFile(ZipEntry entry, ZipInputStream zipIn, File file) throws IOException {
  		final String sourceMethod = "extractFile"; //$NON-NLS-1$
  		final boolean isTraceLogging = log.isLoggable(Level.FINER);
  		if (isTraceLogging) {
  			log.entering(sourceClass, sourceMethod, new Object[]{entry, zipIn, file});
  		}
  
  		Files.createParentDirs(file);
  		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
  		try {
  			IOUtils.copy(zipIn, bos);
  		} finally {
  			bos.close();
  		}
  		if (!file.setLastModified(entry.getTime())) {
  			throw new IOException("Failed to set last modified time for " + file.getAbsolutePath()); //$NON-NLS-1$
  		}
  
  		if (isTraceLogging) {
  			log.exiting(sourceClass, sourceMethod);
  		}
  	}
docs: Extracts the file entry to the location specified by {@code file}
  
  @param entry
  the {@link ZipEntry} object for the directory being extracted
  @param zipIn
  the zip input stream to read from
  @param file
  the {@link File} object for the target file
  @throws IOException