function ModelArticulationStage(options) {
  options = options ?? Frozen.EMPTY_OBJECT;

  const stage = options.stage;
  const runtimeArticulation = options.runtimeArticulation;
  //>>includeStart('debug', pragmas.debug);
  Check.typeOf.object("options.stage", stage);
  Check.typeOf.object("options.runtimeArticulation", runtimeArticulation);
  //>>includeEnd('debug');

  this._stage = stage;
  this._runtimeArticulation = runtimeArticulation;

  this._name = stage.name;
  this._type = stage.type;
  this._minimumValue = stage.minimumValue;
  this._maximumValue = stage.maximumValue;
  this._currentValue = stage.initialValue;
}
An in-memory representation of an articulation stage belonging to a
{@link ModelArticulation}.

@param {object} options An object containing the following options:
@param {ModelComponents.ArticulationStage} options.stage The articulation stage components from the 3D model.
@param {ModelArticulation} options.runtimeArticulation The runtime articulation that this stage belongs to.

@alias ModelArticulationStage
@constructor

@private