@Override
      public Object[] next() {

        Object[] sampleDate = this.sampleDates[this.datesIndex];
        Object[] sampleTime = this.sampleTimes[this.timesIndex];

        Object[] ret = new Object[sampleDate.length + sampleTime.length];

        System.arraycopy(sampleDate, 0, ret, 0, sampleDate.length);
        System.arraycopy(sampleTime, 0, ret, sampleDate.length, sampleTime.length);

        if (++this.timesIndex == this.sampleTimes.length) {
          this.datesIndex++;
          this.timesIndex = 0;
        }

        return ret;
      }