code: public final Object decode(CachedData d) {
      Object obj = d.decodedObject;
      if (obj != null) {
        return obj;
      }
      byte[] data = d.data;
  
      int flags = d.flag;
      if ((flags & COMPRESSED) != 0) {
        data = decompress(data);
      }
      flags = flags & SPECIAL_MASK;
      obj = decode0(d, data, flags);
      d.decodedObject = obj;
      return obj;
    }
docs: /*
  (non-Javadoc)
  
  @see net.spy.memcached.Transcoder#decode(net.spy.memcached.CachedData)