parseRecursive(buffer, packets) {
    const result = this.parsePacket(buffer);

    result.payload = this.getPayload(result.payload, result.version);

    packets.push(result);

    if (result.leftover) {
      return this.parseRecursive(result.leftover, packets);
    }

    return packets;
  }
Recursive function to parse
a series of packets. Prefer using
the parse() wrapper over using this
directly.
@private
@param {Buffer} buffer to parse
@param {Array} packets that have been parsed
@returns {Array.<Packet>} array of parsed packets