fn split_overlapping_ranges(
    ranges: &[PartitionRange],
) -> BTreeMap<TimeRange, Vec<usize>>Expand description
return a map of non-overlapping ranges and their corresponding index
(not PartitionRange.identifier but position in array) in the input PartitionRanges that is in those ranges