@Override
        public void actionPerformed(ActionEvent e) {
          try {
            final DiffElement<?> newElement = chooser.call();
            if (newElement == null) return;
            if (StringUtil.equals(dirField.getText(), newElement.getPath())) return;

            dirField.setText(newElement.getPath());
            if (isTarget) {
              myModel.setTargetDir(newElement);
            }
            else {
              myModel.setSourceDir(newElement);
            }

            myModel.clear();
            myModel.reloadModel(true);
            myModel.updateFromUI();
          }
          catch (Exception err) {
            LOG.warn(err);
          }
        }
@Override
        public void actionPerformed(ActionEvent e)