docs: public void readPayload(ByteBuffer dst)
              throws IOException
      {
          while (true) {
              int dstRemaining = dst.remaining();
              int bufferRemaining = buffer.size() - position;
              if (bufferRemaining >= dstRemaining) {
                  buffer.getBytes(position, dstRemaining, dst);
                  position += dstRemaining;
                  return;
              }
              buffer.getBytes(position, bufferRemaining, dst);
              position += bufferRemaining;
  
              nextBuffer();
          }
      }