code: private ByteBuffer extractValue() {
          buffer.rewind();
          if (buffer.capacity() > 0) {
              buffer.get();    // Move past the tag
              buffer.getInt(); // Move past the size
          }
          return buffer.slice();
      }
docs: Pulls out the portion of our full buffer that represents just the binary value held by the field.
  Shared by both constructors to initialize the {@link #value} field. Handles the special case of
  a zero-length blob, for which no bytes at all are sent. (Really! The protocol requires this!)
  
  @return the portion of our byte stream that follows the tag and size.