Program: 86532
Project: 86532
Buggy source:
public void perform(){
  String message=TextUtil.implode(args,"String_Node_Str").replaceAll("String_Node_Str","String_Node_Str");
  if (!FactionsPlus.permission.has(sender,"String_Node_Str")) {
    sender.sendMessage(ChatColor.RED + "String_Node_Str");
    return;
  }
  FPlayer fplayer=FPlayers.i.get(sender.getName());
  Faction currentFaction=fplayer.getFaction();
  Boolean authallow=false;
  if (FactionsPlus.config.getBoolean("String_Node_Str")) {
    if (Utilities.isLeader(fplayer)) {
      authallow=true;
    }
  }
  if (FactionsPlus.config.getBoolean("String_Node_Str")) {
    if (Utilities.isOfficer(fplayer)) {
      authallow=true;
    }
  }
  if (!authallow) {
    sender.sendMessage(ChatColor.RED + "String_Node_Str");
    return;
  }
  if (FactionsPlus.config.getInt("String_Node_Str") > 0) {
    if (!doFinanceCrap(FactionsPlus.config.getInt("String_Node_Str"),"String_Node_Str","String_Node_Str",fplayer)) {
      return;
    }
  }
  String[] args=new String[3];
  args[1]=sender.getName();
  args[2]=message;
  String formatedMessage=FactionsPlusTemplates.Go("String_Node_Str",args);
  DataOutputStream announceWrite;
  for (  FPlayer fplayerlisting : currentFaction.getFPlayersWhereOnline(true)) {
    fplayerlisting.msg(formatedMessage);
  }
  try {
    if (!new File("String_Node_Str" + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str"+ File.separator+ fplayer.getFactionId()).exists()) {
      new File("String_Node_Str" + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str"+ File.separator+ fplayer.getFactionId()).createNewFile();
    }
    formatedMessage="String_Node_Str" + formatedMessage;
    announceWrite=new DataOutputStream(new FileOutputStream(new File("String_Node_Str" + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str"+ File.separator+ fplayer.getFactionId()),false));
    announceWrite.write(formatedMessage.getBytes());
    announceWrite.close();
  }
 catch (  Exception e) {
    e.printStackTrace();
    sender.sendMessage("String_Node_Str");
    return;
  }
}

Fixed version (ground truth):
public void perform(){
  String message=TextUtil.implode(args,"String_Node_Str").replaceAll("String_Node_Str","String_Node_Str");
  if (!FactionsPlus.permission.has(sender,"String_Node_Str")) {
    sender.sendMessage(ChatColor.RED + "String_Node_Str");
    return;
  }
  FPlayer fplayer=FPlayers.i.get(sender.getName());
  Faction currentFaction=fplayer.getFaction();
  Boolean authallow=false;
  if (FactionsPlus.config.getBoolean("String_Node_Str") && Utilities.isLeader(fplayer)) {
    authallow=true;
  }
 else   if (FactionsPlus.config.getBoolean("String_Node_Str") && Utilities.isOfficer(fplayer)) {
    authallow=true;
  }
  if (!authallow) {
    sender.sendMessage(ChatColor.RED + "String_Node_Str");
    return;
  }
  if (FactionsPlus.config.getInt("String_Node_Str") > 0) {
    if (!doFinanceCrap(FactionsPlus.config.getInt("String_Node_Str"),"String_Node_Str","String_Node_Str",fplayer)) {
      return;
    }
  }
  String[] args=new String[3];
  args[1]=sender.getName();
  args[2]=message;
  String formatedMessage=FactionsPlusTemplates.Go("String_Node_Str",args);
  DataOutputStream announceWrite;
  for (  FPlayer fplayerlisting : currentFaction.getFPlayersWhereOnline(true)) {
    fplayerlisting.msg(formatedMessage);
  }
  try {
    if (!new File("String_Node_Str" + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str"+ File.separator+ fplayer.getFactionId()).exists()) {
      new File("String_Node_Str" + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str"+ File.separator+ fplayer.getFactionId()).createNewFile();
    }
    formatedMessage="String_Node_Str" + formatedMessage;
    announceWrite=new DataOutputStream(new FileOutputStream(new File("String_Node_Str" + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str"+ File.separator+ fplayer.getFactionId()),false));
    announceWrite.write(formatedMessage.getBytes());
    announceWrite.close();
  }
 catch (  Exception e) {
    e.printStackTrace();
    sender.sendMessage("String_Node_Str");
    return;
  }
}