void PasteRowsWithAnimation(ref int positionNewRow, GridViewBase view, BindingList <CopyPasteOutlookData> list, object[] objectsForCopy, int start, int end)
        {
            bool insertToEndOfRows = view.FocusedRowHandle == GridControl.InvalidRowHandle;

            for (int i = start; i < end; i++)
            {
                CopyPasteOutlookData obj = ((CopyPasteOutlookData)objectsForCopy[i]);
                obj.UniqueID = ++Counter;
                if (i == maxAnimationRows - 1)
                {
                    pasteWithoutAnimation = new PasteHelper()
                    {
                        List = list, ObjectsForCopy = objectsForCopy, Owner = this, PositionNewRow = positionNewRow, View = view
                    };
                }
                if (PastUnderFocusedRow && (list.Count != 0) && !insertToEndOfRows)
                {
                    list.Insert(positionNewRow, obj);
                    positionsNewRowsList.Add(positionNewRow);
                    positionNewRow++;
                }
                else
                {
                    list.Add(obj);
                    positionsNewRowsList.Add(list.Count - 1);
                }
            }
        }
        public CopyPasteOperations()
        {
            Counter = 0;
            InitializeComponent();
            DemoContentGrid.DataContext = this;
            ArrayList list = OutlookDataGenerator.CreateOutlookArrayList(10);

            object[] objectForCopying = list.ToArray();
            for (int i = 0; i < objectForCopying.Length; i++)
            {
                firstList.Add(CopyPasteOutlookData.ConvertOutlookDataToCopyPasteOutlookData((OutlookData)objectForCopying[i], this));
            }
            firstGrid.ItemsSource  = firstList;
            secondGrid.ItemsSource = secondList;
            allowCopyingtoClipboardCheckEdit.IsChecked = true;
            copyHeaderCheckEdit.IsChecked = true;

            firstGrid.PreviewMouseDown  += new MouseButtonEventHandler(firstGrid_PreviewMouseDown);
            secondGrid.PreviewMouseDown += new MouseButtonEventHandler(secondGrid_PreviewMouseDown);
            GridDictionary.Add(FocusedGrid.First, firstGrid);
            GridDictionary.Add(FocusedGrid.Second, secondGrid);
        }