Program: 167145
Project: 167145
Buggy source:
/** 
 * Creates new form ScrUpdateAlert
 * @param verbose run in verbose mode
 * @param _core current dictionary core
 * @throws java.lang.Exception if unable to connect
 */
public ScrUpdateAlert(boolean verbose,DictCore _core) throws Exception {
  setupKeyStrokes();
  initComponents();
  core=_core;
  jTextPane1.setContentType("String_Node_Str");
  jPanel1.setBackground(Color.white);
  super.getRootPane().getContentPane().setBackground(Color.white);
  Document doc=WebInterface.checkForUpdates(core.getVersion());
  final Window parent=this;
  Node ver=doc.getElementsByTagName("String_Node_Str").item(0);
  Node message=doc.getElementsByTagName("String_Node_Str").item(0);
  Node buttons=doc.getElementsByTagName("String_Node_Str").item(0);
  for (Node curButton=buttons.getFirstChild(); curButton != null; curButton=curButton.getNextSibling()) {
    Node nameNode=((Element)curButton.getChildNodes()).getElementsByTagName("String_Node_Str").item(0);
    Node linkNode=((Element)curButton.getChildNodes()).getElementsByTagName("String_Node_Str").item(0);
    buttonMap.put(nameNode.getTextContent(),linkNode.getTextContent());
    PButton newButton=new PButton(core);
    newButton.addActionListener(new ActionListener(){
      @Override public void actionPerformed(      ActionEvent e){
        JButton thisButton=(JButton)e.getSource();
        String link=buttonMap.get(thisButton.getText());
        URI uri;
        try {
          uri=new URI(link);
          uri.normalize();
          java.awt.Desktop.getDesktop().browse(uri);
        }
 catch (        IOException|URISyntaxException ex) {
          InfoBox.error("String_Node_Str","String_Node_Str" + link,core.getRootWindow());
        }
      }
    }
);
    newButton.setText(nameNode.getTextContent());
    newButton.setSize(358,30);
    jPanel1.add(newButton);
    int height=this.getSize().height;
    newButton.setLocation(0,height - 30);
    this.setSize(height,height + newButton.getHeight());
  }
  this.setTitle("String_Node_Str" + ver.getTextContent() + "String_Node_Str");
  jTextPane1.setText(message.getTextContent());
  txtVersion.setText("String_Node_Str" + ver.getTextContent());
  if (ver.getTextContent().equals(core.getVersion())) {
    if (verbose) {
      InfoBox.info("String_Node_Str","String_Node_Str" + core.getVersion() + "String_Node_Str",core.getRootWindow());
    }
    this.setVisible(false);
    this.dispose();
  }
 else {
    setVisible(true);
  }
}

Fixed version (ground truth):
/** 
 * Creates new form ScrUpdateAlert
 * @param verbose run in verbose mode
 * @param _core current dictionary core
 * @throws java.lang.Exception if unable to connect
 */
public ScrUpdateAlert(boolean verbose,DictCore _core) throws Exception {
  core=_core;
  setupKeyStrokes();
  initComponents();
  jTextPane1.setContentType("String_Node_Str");
  jPanel1.setBackground(Color.white);
  super.getRootPane().getContentPane().setBackground(Color.white);
  Document doc=WebInterface.checkForUpdates(core.getVersion());
  final Window parent=this;
  Node ver=doc.getElementsByTagName("String_Node_Str").item(0);
  Node message=doc.getElementsByTagName("String_Node_Str").item(0);
  Node buttons=doc.getElementsByTagName("String_Node_Str").item(0);
  for (Node curButton=buttons.getFirstChild(); curButton != null; curButton=curButton.getNextSibling()) {
    Node nameNode=((Element)curButton.getChildNodes()).getElementsByTagName("String_Node_Str").item(0);
    Node linkNode=((Element)curButton.getChildNodes()).getElementsByTagName("String_Node_Str").item(0);
    buttonMap.put(nameNode.getTextContent(),linkNode.getTextContent());
    PButton newButton=new PButton(core);
    newButton.addActionListener(new ActionListener(){
      @Override public void actionPerformed(      ActionEvent e){
        JButton thisButton=(JButton)e.getSource();
        String link=buttonMap.get(thisButton.getText());
        URI uri;
        try {
          uri=new URI(link);
          uri.normalize();
          java.awt.Desktop.getDesktop().browse(uri);
        }
 catch (        IOException|URISyntaxException ex) {
          InfoBox.error("String_Node_Str","String_Node_Str" + link,core.getRootWindow());
        }
      }
    }
);
    newButton.setText(nameNode.getTextContent());
    newButton.setSize(358,30);
    jPanel1.add(newButton);
    int height=this.getSize().height;
    newButton.setLocation(0,height - 30);
    this.setSize(height,height + newButton.getHeight());
  }
  this.setTitle("String_Node_Str" + ver.getTextContent() + "String_Node_Str");
  jTextPane1.setText(message.getTextContent());
  txtVersion.setText("String_Node_Str" + ver.getTextContent());
  if (ver.getTextContent().equals(core.getVersion())) {
    if (verbose) {
      InfoBox.info("String_Node_Str","String_Node_Str" + core.getVersion() + "String_Node_Str",core.getRootWindow());
    }
    this.setVisible(false);
    this.dispose();
  }
 else {
    setVisible(true);
  }
}