Program: 35249
Project: 35249
Buggy source:
public CNSettings(ClassNode cn){
  super("String_Node_Str");
  this.setBounds(bounds);
  this.setLayout(new BorderLayout(0,0));
  JPanel panel=new JPanel();
  panel.setLayout(new BorderLayout(5,5));
  panel.setBorder(new EmptyBorder(10,10,10,10));
  final JPanel input=new JPanel(new GridLayout(0,1));
  final JPanel labels=new JPanel(new GridLayout(0,1));
  panel.add(labels,"String_Node_Str");
  panel.add(input,"String_Node_Str");
  panel.add(new JLabel(JByteMod.res.getResource("String_Node_Str")),"String_Node_Str");
  labels.add(new JLabel("String_Node_Str"));
  JTextField name=new JTextField(cn.name);
  input.add(name);
  labels.add(new JLabel("String_Node_Str"));
  JTextField sf=new JTextField(cn.sourceFile);
  input.add(sf);
  labels.add(new JLabel("String_Node_Str"));
  JFormattedTextField access=EditDialogue.createNumberField();
  access.setValue(cn.access);
  input.add(access);
  labels.add(new JLabel("String_Node_Str"));
  JFormattedTextField version=EditDialogue.createNumberField();
  version.setValue(cn.version);
  input.add(version);
  labels.add(new JLabel("String_Node_Str"));
  JTextField signature=new JTextField(cn.signature);
  input.add(signature);
  labels.add(new JLabel("String_Node_Str"));
  JTextField parent=new JTextField(cn.superName);
  input.add(parent);
  this.add(panel,BorderLayout.CENTER);
  JButton update=new JButton("String_Node_Str");
  update.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      boolean refresh=false;
      if (!cn.name.equals(name.getText())) {
        refresh=true;
        cn.name=name.getText();
      }
      cn.sourceFile=sf.getText();
      cn.access=(int)access.getValue();
      cn.version=(int)version.getValue();
      String sig=signature.getText();
      if (sig.isEmpty()) {
        cn.signature=null;
      }
 else {
        cn.signature=sig;
      }
      String par=parent.getText();
      if (par.isEmpty()) {
        cn.superName=null;
      }
 else {
        cn.superName=par;
      }
      if (refresh) {
        JByteMod.instance.refreshTree();
      }
    }
  }
);
  this.add(update,BorderLayout.PAGE_END);
  this.show();
}

Fixed version (ground truth):
public CNSettings(ClassNode cn){
  super("String_Node_Str");
  this.setBounds(bounds);
  this.setLayout(new BorderLayout(0,0));
  JPanel panel=new JPanel();
  panel.setLayout(new BorderLayout(5,5));
  panel.setBorder(new EmptyBorder(10,10,10,10));
  final JPanel input=new JPanel(new GridLayout(0,1));
  final JPanel labels=new JPanel(new GridLayout(0,1));
  panel.add(labels,"String_Node_Str");
  panel.add(input,"String_Node_Str");
  panel.add(new JLabel(JByteMod.res.getResource("String_Node_Str")),"String_Node_Str");
  labels.add(new JLabel("String_Node_Str"));
  JTextField name=new JTextField(cn.name);
  input.add(name);
  labels.add(new JLabel("String_Node_Str"));
  JTextField sf=new JTextField(cn.sourceFile);
  input.add(sf);
  labels.add(new JLabel("String_Node_Str"));
  JFormattedTextField access=EditDialogue.createNumberField();
  access.setValue(cn.access);
  input.add(access);
  labels.add(new JLabel("String_Node_Str"));
  JFormattedTextField version=EditDialogue.createNumberField();
  version.setValue(cn.version);
  input.add(version);
  labels.add(new JLabel("String_Node_Str"));
  JTextField signature=new JTextField(cn.signature);
  input.add(signature);
  labels.add(new JLabel("String_Node_Str"));
  JTextField parent=new JTextField(cn.superName);
  input.add(parent);
  labels.add(new JLabel("String_Node_Str"));
  JButton interfaces=new JButton(JByteMod.res.getResource("String_Node_Str"));
  interfaces.addActionListener(a -> {
    if (!JListEditor.isOpen())     new JListEditor("String_Node_Str",cn,"String_Node_Str").setVisible(true);
  }
);
  input.add(interfaces);
  this.add(panel,BorderLayout.CENTER);
  JButton update=new JButton("String_Node_Str");
  update.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      boolean refresh=false;
      if (!cn.name.equals(name.getText())) {
        refresh=true;
        cn.name=name.getText();
      }
      cn.sourceFile=sf.getText();
      cn.access=(int)access.getValue();
      cn.version=(int)version.getValue();
      String sig=signature.getText();
      if (sig.isEmpty()) {
        cn.signature=null;
      }
 else {
        cn.signature=sig;
      }
      String par=parent.getText();
      if (par.isEmpty()) {
        cn.superName=null;
      }
 else {
        cn.superName=par;
      }
      if (refresh) {
        JByteMod.instance.refreshTree();
      }
    }
  }
);
  this.add(update,BorderLayout.PAGE_END);
  this.show();
}