code: @Nonnull
    public static KeyValueSink<Symbol, byte[]> forZip(final File zipFile,
        final Function<Symbol, String> keyEntryFunction) throws IOException {
      return ZipKeyValueSink.forFile(zipFile, keyEntryFunction);
    }
docs: Creates a new key-value sink backed by a zip file, using the specified a function to maps each
  key in the store to the zip entry that will be used to store its value. The caller must ensure
  that the zip file is not closed or modified, otherwise all behavior is undefined. To use a
  default function to define the mapping between keys and the zip entry used for their values,
  see {@link #forZip(File, Function)}.
  
  @param zipFile          the zip file to use for storage
  @param keyEntryFunction the function to be used to transform keys into the entry (path) inside
  the zip file that will be used to store the value
  @return a key-value sink
  @throws IOException if the zip file could not be opened for writing
  @see #forZip(File)