replaceState(oldState, newState) {
    let clauses = this.clauses.map((clause) => {
      return new SwitchClause(clause.first,
          State.replaceStateId(clause.second, oldState, newState));
    });
    return new SwitchState(
        State.replaceStateId(this.id, oldState, newState),
        this.expression,
        clauses);
  }
Represents the dispatch portion of an if/else block.
ConditionalStates are immutable.

@param {number} oldState
@param {number} newState
@return {SwitchState}