Program: 20109
Project: 20109
Buggy source:
private void initBrowser(String resolution,final TextFieldWithBrowseButton browseButton){
  final FileChooserDescriptor imageDescriptor=FileChooserDescriptorFactory.createSingleFileDescriptor(ImageFileTypeManager.getInstance().getImageFileType());
  String title1="String_Node_Str" + resolution + "String_Node_Str";
  imageDescriptor.setTitle(title1);
  browseButton.addBrowseFolderListener(title1,null,project,imageDescriptor);
  browseButton.addBrowseFolderListener(new TextBrowseFolderListener(imageDescriptor){
    @Override protected void onFileChosen(    @NotNull VirtualFile chosenFile){
      super.onFileChosen(chosenFile);
      updateImage(chosenFile.getCanonicalPath());
      if (StringUtils.isEmpty(resExportName.getText().trim())) {
        resExportName.setText(chosenFile.getName());
      }
    }
  }
);
  browseButton.getTextField().addMouseListener(new SimpleMouseListener(){
    @Override public void mouseClicked(    MouseEvent mouseEvent){
      updateImage(browseButton.getText());
    }
  }
);
  new FileDrop(browseButton.getTextField(),new FileDrop.Target(){
    @Override public FileChooserDescriptor getDescriptor(){
      return imageDescriptor;
    }
    @Override public boolean isHiddenShown(){
      return false;
    }
    @Override public void dropFiles(    List<VirtualFile> virtualFiles){
      if (virtualFiles != null) {
        if (virtualFiles.size() == 1) {
          VirtualFile chosenFile=virtualFiles.get(0);
          browseButton.setText(chosenFile.getCanonicalPath());
          updateImage(chosenFile.getCanonicalPath());
          if (StringUtils.isEmpty(resExportName.getText().trim())) {
            resExportName.setText(chosenFile.getName());
          }
        }
      }
    }
  }
);
}

Fixed version (ground truth):
private void initBrowser(String resolution,final TextFieldWithBrowseButton browseButton){
  final FileChooserDescriptor imageDescriptor=FileChooserDescriptorFactory.createSingleFileDescriptor(ImageFileTypeManager.getInstance().getImageFileType());
  String title1="String_Node_Str" + resolution + "String_Node_Str";
  imageDescriptor.setTitle(title1);
  browseButton.addBrowseFolderListener(title1,null,project,imageDescriptor);
  browseButton.addBrowseFolderListener(new TextBrowseFolderListener(imageDescriptor){
    @Override protected void onFileChoosen(    @NotNull VirtualFile chosenFile){
      super.onFileChoosen(chosenFile);
      updateImage(chosenFile.getCanonicalPath());
      if (StringUtils.isEmpty(resExportName.getText().trim())) {
        resExportName.setText(chosenFile.getName());
      }
    }
  }
);
  browseButton.getTextField().addMouseListener(new SimpleMouseListener(){
    @Override public void mouseClicked(    MouseEvent mouseEvent){
      updateImage(browseButton.getText());
    }
  }
);
  new FileDrop(browseButton.getTextField(),new FileDrop.Target(){
    @Override public FileChooserDescriptor getDescriptor(){
      return imageDescriptor;
    }
    @Override public boolean isHiddenShown(){
      return false;
    }
    @Override public void dropFiles(    List<VirtualFile> virtualFiles){
      if (virtualFiles != null) {
        if (virtualFiles.size() == 1) {
          VirtualFile chosenFile=virtualFiles.get(0);
          browseButton.setText(chosenFile.getCanonicalPath());
          updateImage(chosenFile.getCanonicalPath());
          if (StringUtils.isEmpty(resExportName.getText().trim())) {
            resExportName.setText(chosenFile.getName());
          }
        }
      }
    }
  }
);
}