Program: 101714
Project: 101714
Buggy source:
/** 
 * @param abean The new bean to introspect and edit
 */
public void setBean(Object abean) throws IntrospectionException {
  this.bean=abean;
  removeAll();
  editors.clear();
  int y=0;
  if (bean != null) {
    BeanInfo info=Introspector.getBeanInfo(bean.getClass());
    PropertyDescriptor[] properties=info.getPropertyDescriptors();
    for (int i=0; i < properties.length; i++) {
      PropertyDescriptor property=properties[i];
      if (!property.isHidden() && property.getWriteMethod() != null) {
        JLabel label=new JLabel();
        JTextField text=new JTextField();
        String title=property.getDisplayName();
        title=StringUtil.createTitle(title);
        label.setText(title + "String_Node_Str");
        label.setLabelFor(text);
        Method writer=property.getWriteMethod();
        text.getDocument().addDocumentListener(new CustomDocumentListener(text,writer));
        try {
          Method reader=property.getReadMethod();
          Object reply=reader.invoke(bean,null);
          if (reply == null) {
            text.setText("String_Node_Str");
          }
 else {
            text.setText(reply.toString());
          }
        }
 catch (        Exception ex) {
          text.setText(Msg.ERROR_READING.toString(ex.getMessage()));
          log.warn("String_Node_Str",ex);
        }
        editors.add(text);
        this.add(label,new GridBagConstraints(0,y,1,1,0.0,0.0,GridBagConstraints.EAST,GridBagConstraints.NONE,new Insets(2,10,2,2),0,0));
        this.add(text,new GridBagConstraints(1,y,1,1,1.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.HORIZONTAL,new Insets(2,2,2,10),0,0));
        y++;
      }
    }
  }
  invalidate();
  repaint();
}

Fixed version (ground truth):
/** 
 * @param abean The new bean to introspect and edit
 */
public void setBean(Object abean) throws IntrospectionException {
  this.bean=abean;
  removeAll();
  editors.clear();
  int y=0;
  if (bean != null) {
    BeanInfo info=Introspector.getBeanInfo(bean.getClass());
    PropertyDescriptor[] properties=info.getPropertyDescriptors();
    for (int i=0; i < properties.length; i++) {
      PropertyDescriptor property=properties[i];
      if (!property.isHidden() && property.getWriteMethod() != null) {
        JLabel label=new JLabel();
        JTextField text=new JTextField();
        String title=property.getDisplayName();
        title=StringUtil.createTitle(title);
        label.setText(title + "String_Node_Str");
        label.setLabelFor(text);
        Method writer=property.getWriteMethod();
        text.getDocument().addDocumentListener(new CustomDocumentListener(text,writer));
        try {
          Method reader=property.getReadMethod();
          Object reply=reader.invoke(bean,null);
          if (reply == null) {
            text.setText("String_Node_Str");
          }
 else {
            text.setText(reply.toString());
          }
        }
 catch (        Exception ex) {
          text.setText(Msg.ERROR_READING.toString(ex.getMessage()));
          log.warn("String_Node_Str",ex);
        }
        editors.add(text);
        this.add(label,new GridBagConstraints(0,y,1,1,0.0,0.0,GridBagConstraints.EAST,GridBagConstraints.NONE,new Insets(2,10,2,2),0,0));
        this.add(text,new GridBagConstraints(1,y,1,1,1.0,0.0,GridBagConstraints.CENTER,GridBagConstraints.HORIZONTAL,new Insets(2,2,2,10),0,0));
        y++;
      }
    }
  }
  GuiUtil.refresh(this);
}