function createProducer(tapVersion) {
    var producers = {
      12: new TAP12Producer(),
      13: new TAP13Producer()
    };
    var producer = producers[tapVersion];

    if (!producer) {
      throw new Error(
        'invalid or unsupported TAP version: ' + JSON.stringify(tapVersion)
      );
    }

    return producer;
  }
Returns a `tapVersion`-appropriate TAP producer instance, if possible.

@private
@param {string} tapVersion - Version of TAP specification to produce.
@returns {TAPProducer} specification-appropriate instance
@throws {Error} if specification version has no associated producer.