docs: private void processEncodedPayload() throws IOException {
      if (!readPayload) {
        payloadSpanCollector.reset();
        collect(payloadSpanCollector);
        Collection<byte[]> originalPayloadCollection = payloadSpanCollector
            .getPayloads();
        if (originalPayloadCollection.iterator().hasNext()) {
          byte[] payload = originalPayloadCollection.iterator().next();
          if (payload == null) {
            throw new IOException("no payload");
          }
          MtasPayloadDecoder payloadDecoder = new MtasPayloadDecoder();
          payloadDecoder.init(startPosition(), payload);
          mtasPosition = payloadDecoder.getMtasPosition();
        } else {
          throw new IOException("no payload");
        }
      }
    }