Program: 86515
Project: 86515
Buggy source:
@Override public void perform(){
  fme.msg("String_Node_Str");
  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());
  String[] argsa=new String[3];
  argsa[1]=sender.getName();
  argsa[2]=message;
  File fRF=new File(Config.folderFRules,fplayer.getFactionId());
  if (!fRF.exists()) {
    fme.msg("String_Node_Str");
    return;
  }
  FileInputStream fstream=null;
  DataInputStream in=null;
  InputStreamReader isr=null;
  BufferedReader br=null;
  try {
    fstream=new FileInputStream(fRF);
    in=new DataInputStream(fstream);
    isr=new InputStreamReader(in);
    br=new BufferedReader(isr);
    String strLine;
    int rCurrent=0;
    while ((strLine=br.readLine()) != null) {
      rCurrent=rCurrent + 1;
      if (!strLine.isEmpty() || strLine.trim() != "String_Node_Str") {
        fme.msg("String_Node_Str" + rCurrent + "String_Node_Str"+ strLine);
      }
    }
  }
 catch (  Exception e) {
    e.printStackTrace();
    sender.sendMessage("String_Node_Str");
    return;
  }
 finally {
    if (null != br) {
      try {
        br.close();
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
    if (null != isr) {
      try {
        isr.close();
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
    if (null != in) {
      try {
        in.close();
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
    if (null != fstream) {
      try {
        fstream.close();
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
  }
}

Fixed version (ground truth):
@Override public void perform(){
  fme.msg("String_Node_Str");
  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());
  String[] argsa=new String[3];
  argsa[1]=sender.getName();
  argsa[2]=message;
  File fRF=new File(Config.folderFRules,fplayer.getFactionId());
  if (!fRF.exists()) {
    fme.msg("String_Node_Str");
    return;
  }
  FileInputStream fstream=null;
  DataInputStream in=null;
  InputStreamReader isr=null;
  BufferedReader br=null;
  try {
    fstream=new FileInputStream(fRF);
    in=new DataInputStream(fstream);
    isr=new InputStreamReader(in);
    br=new BufferedReader(isr);
    String strLine;
    int rCurrent=0;
    while ((strLine=br.readLine()) != null) {
      rCurrent=rCurrent + 1;
      if (!strLine.isEmpty() || !strLine.trim().isEmpty()) {
        fme.msg("String_Node_Str" + rCurrent + "String_Node_Str"+ strLine);
      }
    }
  }
 catch (  Exception e) {
    e.printStackTrace();
    sender.sendMessage("String_Node_Str");
    return;
  }
 finally {
    if (null != br) {
      try {
        br.close();
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
    if (null != isr) {
      try {
        isr.close();
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
    if (null != in) {
      try {
        in.close();
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
    if (null != fstream) {
      try {
        fstream.close();
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
  }
}