code: function WorkflowVersion(name, version, domain, options) {
    if (!(this instanceof WorkflowVersion)) {
      return new WorkflowVersion(name, version, domain, options);
    }
  
    Fragment.call(this, name);
  
    if (!_.isString(domain)) {
      throw new Error('A `domain` is required');
    }
  
    this.version = version;
    this.domain = domain;
    this.options = options || {};
  }
docs: Represents a single, named workflow, where all activities and decisions are defined.
  @constructor
  @extends {Fragment}
  @param {string} name - The name of the workflow.
  @param {string} version - Version(s) this workflow can handle (conforms to v2.0 of http://semver.org)
  @param {string} domain - The AWS SWF domain name to execute this workflow in.
  @param {object} [options] - Additional SWF options used when creating and executing this workflow
  (taskList, tagList, childPolicy, executionStartToCloseTimeout, taskStartToCloseTimeout)