code: public static boolean transformEntries(File zip, ZipEntryTransformerEntry[] entries, File destZip) {
      if (log.isDebugEnabled())
        log.debug("Copying '" + zip + "' to '" + destZip + "' and transforming entries " + Arrays.asList(entries) + ".");
  
      try {
        ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(destZip)));
        try {
          TransformerZipEntryCallback action = new TransformerZipEntryCallback(Arrays.asList(entries), out);
          iterate(zip, action);
          return action.found();
        }
        finally {
          IOUtils.closeQuietly(out);
        }
      }
      catch (IOException e) {
        throw ZipExceptionUtil.rethrow(e);
      }
    }
docs: Copies an existing ZIP file and transforms the given entries in it.
  
  @param zip
  an existing ZIP file (only read).
  @param entries
  ZIP entry transformers.
  @param destZip
  new ZIP file created.
  @return <code>true</code> if at least one entry was replaced.