public void mouseClicked(MouseEvent e) {

        // depending on tool state propagate mouse state
        if (documentViewModel.getViewToolMode() ==
                DocumentViewModel.DISPLAY_TOOL_TEXT_SELECTION) {
            textSelectionHandler.mouseClicked(e);
        } else if (documentViewModel.getViewToolMode() ==
                DocumentViewModel.DISPLAY_TOOL_ZOOM_IN) {
            // correct click for coordinate of this component
            Point p = e.getPoint();
            Point offset = documentViewModel.getPageBounds(pageIndex).getLocation();
            p.setLocation(p.x + offset.x, p.y + offset.y);
            // request a zoom center on the new point
            documentViewController.setZoomIn(p);
        } else if (documentViewModel.getViewToolMode() ==
                DocumentViewModel.DISPLAY_TOOL_ZOOM_OUT) {
            // correct click for coordinate of this component
            Point p = e.getPoint();
            // request a zoom center on the new point
            documentViewController.setZoomOut(p);
        } else if (documentViewModel.getViewToolMode() ==
                DocumentViewModel.DISPLAY_TOOL_SELECTION) {
            annotationHandler.mouseClicked(e);
        }
    }