static simulateTimeRanges_(obj) {
    return {
      length: obj.length,
      // NOTE: a more complete simulation would throw when |i| was out of range,
      // but for simplicity we will assume a well-behaved application that uses
      // length instead of catch to stop iterating.
      start: (i) => { return obj.start[i]; },
      end: (i) => { return obj.end[i]; },
    };
  }
Creates a simulated TimeRanges object from data sent by the cast receiver.
@param {?} obj
@return {{
  length: number,
  start: function(number): number,
  end: function(number): number
}}
@private