Program: 46250
Project: 46250
Buggy source:
/** 
 * Creates new form BrowserFrame 
 */
public ContentBrowserJDialog(ContentRepository repo){
  this.repo=repo;
  initComponents();
  fileList.setCellRenderer(new ContentRenderer());
  categoryList.setSelectedValue("String_Node_Str",true);
  try {
    setCollection(repo.getUserRoot());
  }
 catch (  ContentRepositoryException cce) {
    logger.log(Level.WARNING,"String_Node_Str",cce);
  }
  fileList.addListSelectionListener(new ListSelectionListener(){
    public void valueChanged(    ListSelectionEvent e){
      changeListSelection();
    }
  }
);
  fileList.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (e.getClickCount() == 2) {
        changeDirectory();
      }
    }
  }
);
  categoryList.addListSelectionListener(new ListSelectionListener(){
    public void valueChanged(    ListSelectionEvent e){
      changeCategorySelection();
    }
  }
);
  cancelButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      setVisible(false);
      dispose();
      for (      ContentBrowserListener l : listeners) {
        l.cancelAction();
      }
      listeners.clear();
    }
  }
);
  okButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      setVisible(false);
      dispose();
      for (      ContentBrowserListener l : listeners) {
        ContentNode node=getListSelection();
        String assetPath=(node != null) ? node.getPath() : directory.getPath();
        if (assetPath.startsWith("String_Node_Str") == true) {
          assetPath=assetPath.substring(1);
        }
        l.okAction("String_Node_Str" + assetPath);
      }
      listeners.clear();
    }
  }
);
  changeListSelection();
}

Fixed version (ground truth):
/** 
 * Creates new form BrowserFrame 
 */
public ContentBrowserJDialog(ServerSessionManager session){
  this.session=session;
  initComponents();
  fileList.setCellRenderer(new ContentRenderer());
  fileList.addListSelectionListener(new ListSelectionListener(){
    public void valueChanged(    ListSelectionEvent e){
      changeListSelection();
    }
  }
);
  fileList.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent e){
      if (e.getClickCount() == 2) {
        changeDirectory();
      }
    }
  }
);
  categoryList.addListSelectionListener(new ListSelectionListener(){
    public void valueChanged(    ListSelectionEvent e){
      changeCategorySelection();
    }
  }
);
  cancelButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      setVisible(false);
      dispose();
      for (      ContentBrowserListener l : listeners) {
        l.cancelAction();
      }
      listeners.clear();
    }
  }
);
  okButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      setVisible(false);
      dispose();
      for (      ContentBrowserListener l : listeners) {
        ContentNode node=getListSelection();
        String assetPath=(node != null) ? node.getPath() : directory.getPath();
        if (assetPath.startsWith("String_Node_Str") == true) {
          assetPath=assetPath.substring(1);
        }
        l.okAction("String_Node_Str" + assetPath);
      }
      listeners.clear();
    }
  }
);
}