/// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="editingMarker">Editing marker to show.</param>
        private EditMarkerGraphicObject(EditingMarker editingMarker)
            : base(editingMarker)
        {
            _editingMarker = editingMarker;
            _SubscribeOnChange();

            Geometry = _CreatePoint(_editingMarker.EditingObject);
        }
        /// <summary>
        /// Create graphic object for editing marker.
        /// </summary>
        /// <param name="editingMarker">Source editing marker.</param>
        /// <returns>Graphic object for editing marker.</returns>
        public static EditMarkerGraphicObject Create(EditingMarker editingMarker)
        {
            EditMarkerGraphicObject graphic = null;

            Symbol editMarkerSymbol;

            if (editingMarker.MultipleIndex > -1)
            {
                editMarkerSymbol = new EditingMarkerSymbol();
            }
            else
            {
                editMarkerSymbol = new PencilSymbol();
            }

            graphic = new EditMarkerGraphicObject(editingMarker)
            {
                Symbol = editMarkerSymbol
            };

            graphic.SetZIndex(ObjectLayer.FRONTZINDEX);

            return(graphic);
        }