@Override public void mouseDown(MouseEvent e) { if (((e.stateMask & SWT.CTRL) == SWT.CTRL) || ((e.stateMask & SWT.COMMAND) == SWT.COMMAND)) { setSelected(!selected, true); } else if ((e.stateMask & SWT.SHIFT) == SWT.SHIFT) { parentTagPanel.multipleSelection(this); } else { if (TagPanel.isSelectionEmpty()) { setSelected(!selected, true); } else { TagPanel.clearSelection(false); setSelected(!selected, true); } } }