code: public final Value read_impl(AutoBuffer bb) {
      assert _key == null;        // Not set yet
      // Set persistence backend but... strip off saved-to-disk bit
      _persist = (byte)(bb.get1()&BACKEND_MASK);
      _type = (short) bb.get2();
      _mem = bb.getA1();
      _max = _mem.length;
      assert _max < MAX : "Value size=0x"+Integer.toHexString(_max)+" during read is larger than "+Integer.toHexString(MAX)+", type: "+TypeMap.className(_type);
      _pojo = null;
      // On remote nodes _rwlock is initialized to 1 (signaling a remote PUT is
      // in progress) flips to -1 when the remote PUT is done, or +2 if a notify
      // needs to happen.
      _rwlock = new AtomicInteger(-1); // Set as 'remote put is done'
      _replicas = null;
      touch();
      return this;
    }
docs: Custom serializer: set _max from _mem length; set replicas & timestamp.