code: private static void addCacheFormatEntry(List<Message> trackListEntries, int playlistId, ZipOutputStream zos) throws IOException {
          // Add a marker so we can recognize this as a metadata archive. I would use the ZipFile comment, but
          // that is not available until Java 7, and Beat Link is supposed to be backwards compatible with Java 6.
          // Since we are doing this anyway, we can also provide information about the nature of the cache, and
          // how many metadata entries it contains, which is useful for auto-attachment.
          zos.putNextEntry(new ZipEntry(CACHE_FORMAT_ENTRY));
          String formatEntry = CACHE_FORMAT_IDENTIFIER + ":" + playlistId + ":" + trackListEntries.size();
          zos.write(formatEntry.getBytes("UTF-8"));
      }
docs: Add a marker so we can recognize this as a metadata archive. I would use the ZipFile comment, but
  that is not available until Java 7, and Beat Link is supposed to be backwards compatible with Java 6.
  Since we are doing this anyway, we can also provide information about the nature of the cache, and
  how many metadata entries it contains, which is useful for auto-attachment.
  
  @param trackListEntries the tracks contained in the cache, so we can record the number
  @param playlistId the playlist contained in the cache, or 0 if it is all tracks from the media
  @param zos the stream to which the ZipFile is being written
  
  @throws IOException if there is a problem creating the format entry