code: function (dates) {
  
              if (!dates && dates.length < 2) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "BasicTimeSequence", "constructor", "missingDates"));
              }
  
              /**
               * This sequence's list of Dates.
               * @type {Date[]}
               */
              this.dates = dates;
  
              /**
               * This sequence's current index.
               * @type {Number}
               * @default 0.
               */
              this.currentIndex = 0;
  
              /**
               * This sequence's current time.
               * @type {Date}
               * @default This sequence's start time.
               */
              this.currentTime = dates[0];
          }
docs: Constructs a time sequence from an array of Dates.
  @alias BasicTimeSequence
  @constructor
  @classdesc Represents a time sequence described as an array of Date objects as required by WMS.
  This class provides iteration over the sequence in steps
  specified by the period. If the start and end dates are different, iteration will start at the start
  date and end at the end date.
  @param {Date[]} dates An array of Date objects.
  @throws {ArgumentError} If the specified dates array is null, undefined or has a length less than two.