code: function(
      firstPattern, secondPattern, dateTimeSymbols, useFirstDateOnFirstPattern) {
    /**
     * Formatter_ to format the first part of the date interval.
     * @private {!DateTimeFormat}
     */
    this.firstPartFormatter_ = new DateTimeFormat(firstPattern, dateTimeSymbols);
  
    /**
     * Formatter_ to format the second part of the date interval.
     * @private {!DateTimeFormat}
     */
    this.secondPartFormatter_ =
        new DateTimeFormat(secondPattern, dateTimeSymbols);
  
    /**
     * Specifies if the first or the second date should be formatted by the
     * formatter of the first or second part of the date interval.
     * @private {boolean}
     */
    this.useFirstDateOnFirstPattern_ = useFirstDateOnFirstPattern;
  }
docs: Constructs an IntervalFormatter_ object which implements the Formatter_
  interface.
  
  Internal object to construct and store a goog.i18n.DateTimeFormat for each
  part of the date interval pattern.
  
  @param {string} firstPattern First part of the date interval pattern.
  @param {string} secondPattern Second part of the date interval pattern.
  @param {!DateTimeSymbolsType} dateTimeSymbols Symbols to use with the
  datetime formatters.
  @param {boolean} useFirstDateOnFirstPattern Indicates if the first or the
  second date should be formatted with the first or second part of the date
  interval pattern.
  @constructor
  @implements {Formatter_}
  @private