private static void ExtendCycleInterval(NumberingStyle style, ushort cycle)
        {
            var interval = cycleIntervals[(int)style] ?? new UShortInterval(cycle, cycle);

            interval.Extend(cycle);
            cycleIntervals[(int)style] = interval;
        }
        /// <summary>
        ///     Extend major version interval of specified versioning cycle. This is useful when default version intervals are not
        ///     up to date.
        /// </summary>
        /// <param name="style">Numbering style of the specified <paramref name="cycle" /> number.</param>
        /// <param name="cycle">Cycle number of the major version interval to extend.</param>
        /// <param name="interval">Major version interval to extend to.</param>
        public static void ExtendMajorInterval(NumberingStyle style, ushort cycle, ByteInterval interval)
        {
            ExtendCycleInterval(style, cycle);

            if (majorIntervals.TryGetValue(cycle, out var existedInterval))
            {
                interval = ByteInterval.Union(interval, existedInterval);
            }
            majorIntervals[cycle] = interval;
        }
 private static UShortInterval GetCycleInterval(NumberingStyle style) => GetCycleInterval((int)style);