public static MergedIntervalTree <T> Create <T>([NotNull, ItemNotNull] IEnumerable <IInterval <T> > intervals) where T : IComparable <T> => MergedIntervalTree <T> .Create(intervals);
public static MergedIntervalTree <T> Create <T>(params IInterval <T>[] intervals) where T : IComparable <T> => MergedIntervalTree <T> .Create(intervals);
public static MergedIntervalTree <T> ToMergedIntervalTree <T>( [NotNull, ItemNotNull] this IEnumerable <IInterval <T> > intervals, bool createCopy = false) where T : IComparable <T> => createCopy ? MergedIntervalTree.Create(intervals) : intervals as MergedIntervalTree <T> ?? MergedIntervalTree.Create(intervals);