private void Paste(object sender, ExecutedRoutedEventArgs e)
        {
            PointSeries ps = PointSeriesConverter.GetClipboard();

            if (ps != null)
            {
                IPointSeries pp1 = PointSeries.Union(_controlPoints, ps);
                UndoRedo.PushUndo(new UndoObject(
                                      "paste " + Channel.ToString() + " points.",
                                      new UndoContext(new PointSeries(_controlPoints), new PointSeries(pp1)),
                                      (uc) => {
                    Palette.UpdateControlPoints(Channel, uc[0] as PointSeries);
                    InvalidateVisual();
                    return(uc);
                },
                                      (rc) =>
                {
                    Palette.UpdateControlPoints(Channel, rc[1] as PointSeries);
                    InvalidateVisual();
                }));
                Palette.UpdateControlPoints(Channel, pp1);
                _controlPoints = Palette.GetControlPoints(Channel);
                InvalidateVisual();
                _adorner.ClearSelection();
            }
        }