private static void HandleTransformShadowAlphaTag(AssTagContext context, ShadowType shadowType, DateTime startTime, DateTime endTime, float accel, string arg)
        {
            ShadowColorAnimation anim = FetchColorAnimation(
                context,
                startTime,
                endTime,
                a => a.ShadowType == shadowType,
                s => s.ShadowColors[shadowType],
                (s, e, c) => new ShadowColorAnimation(shadowType, s, c, e, c, accel)
                );

            anim.EndColor = ColorUtil.ChangeColorAlpha(anim.EndColor, 255 - (ParseHex(arg) & 255));
        }
        private static void HandleTransformShadowColorTag(AssTagContext context, ShadowType shadowType, DateTime startTime, DateTime endTime, float accel, string arg)
        {
            ShadowColorAnimation anim = FetchColorAnimation(
                context,
                startTime,
                endTime,
                a => a.ShadowType == shadowType,
                s => s.ShadowColors[shadowType],
                (s, e, c) => new ShadowColorAnimation(shadowType, s, c, e, c, accel)
                );

            anim.EndColor = ParseColor(arg, anim.EndColor.A);
        }