public static void mousePressedInModeSelect(MouseEvent e) {
        Point2D mousePressPoint = CanvasController.mousePressPoint;
        BaseFigure figureUnderMousePointer = SelectionController.getFigureUnderMousePointer(mousePressPoint);

        if (figureUnderMousePointer != null) {
            //check if a label is under mouse pointer
            //if yes: only this label will be selected (and dragged)
            if(figureUnderMousePointer instanceof LabelFigure && !CanvasController.selectionKeyActive) {
                SelectionController.clearSelection();
                SelectionController.addFigureToSelection((LabelFigure)figureUnderMousePointer);
                GlobalController.setActionMode(GlobalController.ACTION_DRAG_SELECTION);
            } else {
                if (figureUnderMousePointer instanceof Positionable) {
                    //now its clear its a transition or place!
                    //check if its already in selected elements!
                    if (selectedElements_ids.contains(figureUnderMousePointer.getId())) {
                        if (CanvasController.selectionKeyActive) {
                            SelectionController.removeFigureFromSelection((Positionable)figureUnderMousePointer);
                        } else {
                            //user wants to drag selected elements!
                            GlobalController.setActionMode(GlobalController.ACTION_DRAG_SELECTION);
                        }
                    } else {
                        //if the user is pressing the selectionKey (strg/ctrl) the element will be added to current selection
                        //otherwise the current selection gets cleared
                        if (!CanvasController.selectionKeyActive) {
                            SelectionController.clearSelection();
                        }
                        //select the element start dragging
                        SelectionController.addFigureToSelection((Positionable)figureUnderMousePointer);
                        GlobalController.setActionMode(GlobalController.ACTION_DRAG_SELECTION);
                    }
                    onUpdateSelectedElements();
                }
            }
            SelectionController.setOffsetToSelectedElements(mousePressPoint);
        } else {
            if (!CanvasController.selectionKeyActive) {
                SelectionController.clearSelection();
            }
        }
    }