private static void RepeatPropertyChanged(
            DependencyObject element,
            DependencyPropertyChangedEventArgs args)
        {
            GradientBrushWaveAnimation target = element as GradientBrushWaveAnimation;

            if (target == null)
            {
                return;
            }

            int oldValue = (int)args.OldValue;
            int newValue = (int)args.NewValue;

            target.OnRepeatPropertyChanged(oldValue, newValue);
        }
        private static void MaximumOffsetPropertyChanged(
            DependencyObject element,
            DependencyPropertyChangedEventArgs args)
        {
            GradientBrushWaveAnimation target = element as GradientBrushWaveAnimation;

            if (target == null)
            {
                return;
            }

            double oldValue = (double)args.OldValue;
            double newValue = (double)args.NewValue;

            target.OnMaximumOffsetPropertyChanged(oldValue, newValue);
        }