docs: @Override
    void detach() {
      if (mode == Mode.ATTACHED) {
        byte[] bytes = new byte[binaryValue.remaining()];
        binaryValue.get(bytes);
        binaryValue = ByteBuffer.wrap(bytes);
        mode = Mode.DETACHED;
      } else {
        throw new IllegalStateException("OffHeapValueHolder in mode " + mode + " cannot be prepared for delayed deserialization");
      }
    }