/// <summary>
        /// Handles the mouse doubleclick event.
        /// </summary>
        /// <param name="position">Mouse position.</param>
        /// <param name="e">EventArgs as provided by the view.</param>
        /// <returns>The next mouse state handler that should handle mouse events.</returns>
        public override void OnDoubleClick(PointD3D position, MouseButtonEventArgs e)
        {
            base.OnDoubleClick(position, e);

            // if there is exactly one object selected, try to open the corresponding configuration dialog
            if (_selectedObjects.Count == 1)
            {
                var graphObject = SelectedObjects[0];

                // Set the currently active layer to the layer the clicked object is belonging to.
                if (graphObject.ParentLayer != null && !object.ReferenceEquals(_grac.ActiveLayer, graphObject.ParentLayer))
                {
                    _grac.EhView_CurrentLayerChoosen(graphObject.ParentLayer.IndexOf().ToArray(), false); // Sets the current active layer
                }
                if (graphObject.DoubleClick != null)
                {
                    //EndMovingObjects(); // this will resume the suspended graph so that pressing the "Apply" button in a dialog will result in a visible change
                    ClearSelections(); // this will resume the suspended graph so that pressing the "Apply" button in a dialog will result in a visible change
                    graphObject.OnDoubleClick();
                }
            }
        }