public override TimeSpan GetDuration(DateTime start, DateTime end)
        {
            if (TimeZone.SupportsDaylightSavingTime)
            {
                // start
                if (TimeZone.IsAmbiguousTime(start))
                {
                    start = OnAmbiguousMoment(start);
                }
                else if (TimeZone.IsInvalidTime(start))
                {
                    start = OnInvalidMoment(start);
                }

                // end
                if (TimeZone.IsAmbiguousTime(end))
                {
                    end = OnAmbiguousMoment(end);
                }
                else if (TimeZone.IsInvalidTime(end))
                {
                    end = OnInvalidMoment(end);
                }
            }

            return(base.GetDuration(start, end));
        }