public List<Long> getTimesInInterval(long startInterval, long endInterval) {
   List<Long> ret = new ArrayList<Long>();
   long time = startInterval;
   while (time <= endInterval) {
     for (TestTime tt : times) {
       if (tt.getNextStart(time) > startInterval && tt.getNextEnd(time) < endInterval) {
         ret.add(tt.getNextTime(time));
       }
     }
     time = TimeUtils.getStartNextDayTime(time);
   }
   return ret;
 }
  public long getNextTime(long time) {
    long ret = TestTime.NO_START_TIME;
    for (TestTime tt : times) {
      if (tt.getNextStart(time) > time) {
        ret = tt.getNextTime(time);
        break;
      }
    }

    if (ret <= time && !times.isEmpty()) {
      ret = times.get(0).getNextTime(TimeUtils.getStartNextDayTime(time));
    }
    return ret;
  }