protected byte[] decompress(byte[] in) {
    ByteArrayOutputStream bos = null;
    if(in != null) {
      ByteArrayInputStream bis = new ByteArrayInputStream(in);
      bos = new ByteArrayOutputStream();
      GZIPInputStream gis = null;
      try {
        gis = new GZIPInputStream(bis);

        byte[] buf = new byte[8192];
        int r = -1;
        while ((r = gis.read(buf)) > 0) {
          bos.write(buf, 0, r);
        }
      } catch (IOException e) {
        getLogger().warn("Failed to decompress data", e);
        bos = null;
      } finally {
        CloseUtil.close(gis);
        CloseUtil.close(bis);
        CloseUtil.close(bos);
      }
    }
    return bos == null ? null : bos.toByteArray();
  }
Decompress the given array of bytes.

@return null if the bytes cannot be decompressed
src/main/java/net/spy/memcached/transcoders/BaseSerializingTranscoder.java