/// <summary>
        /// Pan Geometry.
        /// </summary>
        /// <param name="geometry">Geometry to pan.</param>
        /// <param name="dx">Pan dx.</param>
        /// <param name="dy">Pan dy.</param>
        /// <returns>New geometry.</returns>
        private object _PanGeometry(object geometry, double dx, double dy)
        {
            Debug.Assert(geometry != null);

            Point[] points = null;

            if (geometry is Point)
            {
                Point?pt = geometry as Point?;
                points = new Point[] { pt.Value };
            }
            else if (geometry is PolyCurve)
            {
                PolyCurve polyCurve = geometry as PolyCurve;
                points = polyCurve.GetPoints(0, polyCurve.TotalPointCount);
            }
            else
            {
                throw new NotSupportedException();
            }

            if (points.Length == 1 || !(_editedGraphic is EditMarkerGraphicObject))
            {
                for (int index = 0; index < points.Length; index++)
                {
                    double newX  = points[index].X + dx;
                    double newY  = points[index].Y + dy;
                    Point  point = new Point(newX, newY);
                    points[index] = point;
                }
            }
            else
            {
                _PanByEditMarker(points, dx, dy, geometry as PolyCurve);
            }

            // Create new geometry.
            object newGeometry = null;

            if (geometry is Point)
            {
                newGeometry = points[0];
            }
            else if (geometry is Polygon)
            {
                newGeometry = new Polygon((geometry as Polygon).Groups, points);
            }
            else if (geometry is Polyline)
            {
                newGeometry = new Polyline((geometry as Polyline).Groups, points);
            }
            else
            {
                throw new NotSupportedException();
            }


            return(newGeometry);
        }