code: protected byte[] compress(byte[] in) {
      if (in == null) {
        throw new NullPointerException("Can't compress null");
      }
      ByteArrayOutputStream bos = new ByteArrayOutputStream();
      GZIPOutputStream gz = null;
      try {
        gz = new GZIPOutputStream(bos);
        gz.write(in);
      } catch (IOException e) {
        throw new RuntimeException("IO exception compressing data", e);
      } finally {
        CloseUtil.close(gz);
        CloseUtil.close(bos);
      }
      byte[] rv = bos.toByteArray();
      getLogger().debug("Compressed %d bytes to %d", in.length, rv.length);
      return rv;
    }
docs: Compress the given array of bytes.