docs: public static List<Slice> split(LocalDate start, LocalDate end) {
          Objects.requireNonNull(start);
          Objects.requireNonNull(end);
          Preconditions.checkArgument(!start.isAfter(end));
  
          List<Slice> slices = Lists.newArrayList();
  
          LocalDate startOfMonth = start.withDayOfMonth(1);
          LocalDate endOfMonth = YearMonth.from(end).atEndOfMonth();
  
          do {
              slices.add(new Slice(startOfMonth, YearMonth.from(startOfMonth).atEndOfMonth()));
              startOfMonth = startOfMonth.plus(1, ChronoUnit.MONTHS);
          }
          while (startOfMonth.isBefore(endOfMonth) || startOfMonth.isEqual(endOfMonth));
  
          return slices;
      }