fn compute_all_working_ranges(
overlap_counts: &BTreeMap<TimeRange, Vec<usize>>,
descending: bool,
) -> Vec<(TimeRange, BTreeSet<usize>)>Expand description
Compute all working ranges and corresponding working sets from given overlap_counts computed from split_overlapping_ranges
working ranges promise once input stream get a value out of current range, future values will never be in this range
hence we can merge sort current working range once that happens
if descending is true, the working ranges will be in descending order