private void PrepareVerticalStackedAreas()
        {
            if (!ActualSeries.Any(x => x is IVerticalStackedAreaSeriesViewView))
            {
                return;
            }

            var isPercentage =
                ActualSeries.Any(x => x is IStackModelableSeriesView && x is IVerticalStackedAreaSeriesViewView &&
                                 ((IStackModelableSeriesView)x).StackMode == StackMode.Percentage);

            foreach (var group in ActualSeries.OfType <IVerticalStackedAreaSeriesViewView>().GroupBy(x => x.ScalesXAt))
            {
                StackPoints(group, AxisTags.X, group.Key, isPercentage ? StackMode.Percentage : StackMode.Values);
            }
        }
        private void PrepareStackedColumns()
        {
            if (!ActualSeries.Any(x => x is IStackedColumnSeriesView))
            {
                return;
            }

            var isPercentage =
                ActualSeries.Any(x => x is IStackModelableSeriesView && x is IStackedColumnSeriesView &&
                                 ((IStackModelableSeriesView)x).StackMode == StackMode.Percentage);

            foreach (var group in ActualSeries.OfType <IStackedColumnSeriesView>().GroupBy(x => x.ScalesYAt))
            {
                StackPoints(group, AxisOrientation.Y, group.Key, isPercentage ? StackMode.Percentage : StackMode.Values);
            }
        }