Program: 21063
Project: 21063
Buggy source:
public void addToText(final User user,String style,String msg){
  String dest=subConfig.getStringProperty(PARAM_NATIVELANGUAGE,map.get(System.getProperty("String_Node_Str")));
  if (subConfig.getBooleanProperty(PARAM_DOAUTOTRANSLAT,false) && dest != null && !msg.contains("String_Node_Str")) {
    for (    String next : map.keySet()) {
      if (map.get(next).equals(dest)) {
        String tmp=JDL.translate(next,msg);
        if (!tmp.equalsIgnoreCase(msg)) {
          tmp+="String_Node_Str" + msg + "String_Node_Str";
          msg=tmp;
        }
        break;
      }
    }
  }
  final String msg2=msg;
  Date dt=new Date();
  SimpleDateFormat df=new SimpleDateFormat("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append("String_Node_Str");
  if (user != null) {
    sb.append("String_Node_Str" + user.getStyle() + (getUser(conn.getNick()) == user ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ df.format(dt)+ "String_Node_Str"+ user.getNickLink("String_Node_Str")+ (style == JDChat.STYLE_PM ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
  }
 else {
    sb.append("String_Node_Str" + df.format(dt) + "String_Node_Str");
  }
  if (conn != null && msg.contains(conn.getNick())) {
    style=STYLE_HIGHLIGHT;
  }
  if (style != null) {
    sb.append("String_Node_Str" + style + "String_Node_Str"+ msg+ "String_Node_Str");
  }
 else {
    sb.append("String_Node_Str" + msg + "String_Node_Str");
  }
  if (sb.length() > TEXT_BUFFER) {
    String tmp=sb.toString();
    tmp=tmp.substring(tmp.indexOf("String_Node_Str",sb.length() / 3)).trim();
    sb=new StringBuilder();
    sb.append(tmp);
  }
  changed=true;
  EventQueue.invokeLater(new Runnable(){
    public void run(){
      if (changed) {
        if (!SwingGui.getInstance().getMainFrame().isActive() && conn != null && msg2.contains(conn.getNick())) {
          SwingGui.getInstance().getMainFrame().toFront();
        }
        textArea.setText(STYLE + "String_Node_Str" + sb.toString()+ "String_Node_Str");
        int max=scrollPane.getVerticalScrollBar().getMaximum();
        scrollPane.getVerticalScrollBar().setValue(max);
        changed=false;
      }
    }
  }
);
}

Fixed version (ground truth):
public void addToText(final User user,String style,String msg){
  JDLocale dest=subConfig.getGenericProperty(PARAM_NATIVELANGUAGE,new JDLocale("String_Node_Str"));
  if (subConfig.getBooleanProperty(PARAM_DOAUTOTRANSLAT,false) && dest != null && !msg.contains("String_Node_Str")) {
    for (    JDLocale loc : lngmap) {
      if (loc.getLanguageCode().equalsIgnoreCase(dest.getLanguageCode())) {
        String tmp=JDL.translate(loc.getLanguageCode(),msg);
        if (tmp != null && !tmp.equalsIgnoreCase(msg)) {
          tmp+="String_Node_Str" + msg + "String_Node_Str";
          msg=tmp;
        }
        break;
      }
    }
  }
  final String msg2=msg;
  Date dt=new Date();
  SimpleDateFormat df=new SimpleDateFormat("String_Node_Str");
  sb.append("String_Node_Str");
  sb.append("String_Node_Str");
  if (user != null) {
    sb.append("String_Node_Str" + user.getStyle() + (getUser(conn.getNick()) == user ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ df.format(dt)+ "String_Node_Str"+ user.getNickLink("String_Node_Str")+ (style == JDChat.STYLE_PM ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
  }
 else {
    sb.append("String_Node_Str" + df.format(dt) + "String_Node_Str");
  }
  if (conn != null && msg.contains(conn.getNick())) {
    style=STYLE_HIGHLIGHT;
  }
  if (style != null) {
    sb.append("String_Node_Str" + style + "String_Node_Str"+ msg+ "String_Node_Str");
  }
 else {
    sb.append("String_Node_Str" + msg + "String_Node_Str");
  }
  if (sb.length() > TEXT_BUFFER) {
    String tmp=sb.toString();
    tmp=tmp.substring(tmp.indexOf("String_Node_Str",sb.length() / 3)).trim();
    sb=new StringBuilder();
    sb.append(tmp);
  }
  changed=true;
  EventQueue.invokeLater(new Runnable(){
    public void run(){
      if (changed) {
        if (!SwingGui.getInstance().getMainFrame().isActive() && conn != null && msg2.contains(conn.getNick())) {
          SwingGui.getInstance().getMainFrame().toFront();
        }
        textArea.setText(STYLE + "String_Node_Str" + sb.toString()+ "String_Node_Str");
        int max=scrollPane.getVerticalScrollBar().getMaximum();
        scrollPane.getVerticalScrollBar().setValue(max);
        changed=false;
      }
    }
  }
);
}