code: function generate(construct) {
              assertTypeError(construct, 'function');
  
              var _ = this;
  
              defineObjectProperties(
                  construct, {
                      configurable: false,
                      enumerable: false,
                      writable: false
                  }, {
                      prototype: Object.create(_.prototype)
                  }
              );
  
              defineObjectProperties(
                  construct, {
                      configurable: false,
                      enumerable: false,
                      writable: false
                  },
                  Generation
              );
  
              defineObjectProperties(
                  construct.prototype, {
                      configurable: false,
                      enumerable: false,
                      writable: false
                  }, {
                      constructor: construct,
                      generator: construct,
                  }
              );
  
              return construct;
          }
docs: Generates a new generator that inherits from `this` generator.
  @param {Generator} ParentGenerator Generator to inherit from.
  @param {Function} create           Create method that gets called when creating a new instance of new generator.
  @return {Generator}                New Generator that inherits from 'ParentGenerator'.