docs: static Generator bySecondGenerator(
              int[] seconds, final DateValue dtStart) {
          seconds = Util.uniquify(seconds);
          if (seconds.length == 0) {
              seconds = new int[]{
                      dtStart instanceof TimeValue ? ((TimeValue) dtStart).second() : 0
              };
          }
          final int[] useconds = seconds;
  
          if (useconds.length == 1) {
              final int second = useconds[0];
  
              return new SingleValueGenerator() {
                  int year;
                  int month;
                  int day;
                  int hour;
                  int minute;
  
                  @Override
                  boolean generate(DTBuilder builder) {
                      if ((year != builder.year) || (month != builder.month)
                              || (day != builder.day) || (hour != builder.hour)
                              || (minute != builder.minute)) {
                          year = builder.year;
                          month = builder.month;
                          day = builder.day;
                          hour = builder.hour;
                          minute = builder.minute;
                          builder.second = second;
                          return true;
                      }
                      return false;
                  }
  
                  @Override
                  int getValue() {
                      return second;
                  }
  
                  @Override
                  public String toString() {
                      return "bySecondGenerator:" + second;
                  }
              };
          }
  
          return new Generator() {
              int i;
              int year = dtStart.year();
              int month = dtStart.month();
              int day = dtStart.day();
              int hour = dtStart instanceof TimeValue
                      ? ((TimeValue) dtStart).hour() : 0;
              int minute = dtStart instanceof TimeValue
                      ? ((TimeValue) dtStart).minute() : 0;
  
              {
                  int second = dtStart instanceof TimeValue
                          ? ((TimeValue) dtStart).second() : 0;
                  while (i < useconds.length && useconds[i] < second) {
                      ++i;
                  }
              }
  
  
              @Override
              boolean generate(DTBuilder builder) {
                  if ((year != builder.year) || (month != builder.month)
                          || (day != builder.day) || (hour != builder.hour)
                          || (minute != builder.minute)) {
                      i = 0;
                      year = builder.year;
                      month = builder.month;
                      day = builder.day;
                      hour = builder.hour;
                      minute = builder.minute;
                  }
                  if (i >= useconds.length) {
                      return false;
                  }
                  builder.second = useconds[i++];
                  return true;
              }
  
              @Override
              public String toString() {
                  return "bySecondGenerator:" + Arrays.toString(useconds);
              }
          };
      }