public static List<TimeSlot> split(TimeSlot timeSlot, SegmentInMinutes unit) {
        TimeSlot normalizedSlot = normalizeToSegmentBoundaries(timeSlot, unit);
        return new SlotToSegments().apply(normalizedSlot, unit);
    }
@Test
    void slotsAreNormalizedBeforeSplitting() {
        //given
        Instant start = Instant.parse("2023-09-09T00:10:00Z");
        Instant end = Instant.parse("2023-09-09T00:59:00Z");
        TimeSlot timeSlot = new TimeSlot(start, end);
        SegmentInMinutes oneHour = SegmentInMinutes.of(60, FIFTEEN_MINUTES_SEGMENT_DURATION);

        //when
        List<TimeSlot> segments = Segments.split(timeSlot, oneHour);

        //then
        assertEquals(1, segments.size());
        assertEquals(Instant.parse("2023-09-09T00:00:00Z"), segments.get(0).from());
        assertEquals(Instant.parse("2023-09-09T01:00:00Z"), segments.get(0).to());

    }