code: public void transform(InputStream in, ZipEntry zipEntry, ZipOutputStream out) throws IOException {
      byte[] bytes = IOUtils.toByteArray(in);
      bytes = transform(zipEntry, bytes);
  
      ByteSource source;
  
      if (preserveTimestamps()) {
        source = new ByteSource(zipEntry.getName(), bytes, zipEntry.getTime());
      }
      else {
        source = new ByteSource(zipEntry.getName(), bytes);
      }
  
      ZipEntrySourceZipEntryTransformer.addEntry(source, out);
    }
docs: Transforms the zip entry given as an input stream and ZipEntry metadata.
  The result is written to a ZipOutputStream
  * @param in input stream of the entry contents
  @param zipEntry zip entry metadata
  @param out output stream to write transformed entry
  
  @throws IOException if anything goes wrong