@Override
    public void propertyChange(PropertyChangeEvent event) {
      boolean internal = myInternal;
      myInternal = true;
      Object value = event.getNewValue();
      if (ShortcutFilteringPanel.this == event.getSource()) {
        if (value instanceof KeyboardShortcut shortcut) {
          myMousePanel.setShortcut(null);
          myKeyboardPanel.setShortcut(shortcut);
          if (null != shortcut.getSecondKeyStroke()) {
            myKeyboardPanel.mySecondStrokeEnable.setSelected(true);
          }
        }
        else {
          MouseShortcut shortcut = value instanceof MouseShortcut ? (MouseShortcut)value : null;
          String text = shortcut == null ? null : KeymapUtil.getMouseShortcutText(shortcut);
          myMousePanel.setShortcut(shortcut);
          myKeyboardPanel.setShortcut(null);
          myKeyboardPanel.myFirstStroke.setText(text);
          myKeyboardPanel.mySecondStroke.setText(null);
          myKeyboardPanel.mySecondStroke.setEnabled(false);
        }
      }
      else if (value instanceof Shortcut) {
        setShortcut((Shortcut)value);
      }
      else if (!internal) {
        setShortcut(null);
      }
      myInternal = internal;
    }
@Override
    public void propertyChange(PropertyChangeEvent event)