code: public static boolean transformEntries(InputStream is, ZipEntryTransformerEntry[] entries, OutputStream os) {
      if (log.isDebugEnabled())
        log.debug("Copying '" + is + "' to '" + os + "' and transforming entries " + Arrays.asList(entries) + ".");
  
      try {
        ZipOutputStream out = new ZipOutputStream(os);
        TransformerZipEntryCallback action = new TransformerZipEntryCallback(Arrays.asList(entries), out);
        iterate(is, action);
        // Finishes writing the contents of the ZIP output stream without closing
        // the underlying stream.
        out.finish();
        return action.found();
      }
      catch (IOException e) {
        throw ZipExceptionUtil.rethrow(e);
      }
    }
docs: Copies an existing ZIP file and transforms the given entries in it.
  
  @param is
  a ZIP input stream.
  @param entries
  ZIP entry transformers.
  @param os
  a ZIP output stream.
  @return <code>true</code> if at least one entry was replaced.