Program: 86538
Project: 86538
Buggy source:
public void perform(){
  String warpname=this.argAsString(0);
  String pass=null;
  if (this.argAsString(1) != null) {
    pass=this.argAsString(1);
  }
  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=myFaction;
  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 (FactionsPlus.config.getBoolean("String_Node_Str")) {
    authallow=true;
  }
  if (!authallow) {
    sender.sendMessage(ChatColor.RED + "String_Node_Str");
    return;
  }
  if (!fplayer.isInOwnTerritory()) {
    if (FactionsPlus.config.getBoolean("String_Node_Str")) {
      sender.sendMessage(ChatColor.RED + "String_Node_Str");
      return;
    }
  }
  if (FactionsPlus.config.getInt("String_Node_Str") > 0 && !FactionsPlus.config.getBoolean("String_Node_Str")) {
    if (!payForCommand(FactionsPlus.config.getInt("String_Node_Str"),"String_Node_Str","String_Node_Str")) {
      return;
    }
  }
  if (FactionsPlus.config.getInt("String_Node_Str") != 0) {
    if (Utilities.getCountOfWarps(currentFaction) >= FactionsPlus.config.getInt("String_Node_Str")) {
      sender.sendMessage("String_Node_Str");
      return;
    }
  }
  File currentWarpFile=new File("String_Node_Str" + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str"+ File.separator+ currentFaction.getId());
  if (!currentWarpFile.exists()) {
    try {
      currentWarpFile.createNewFile();
    }
 catch (    Exception e) {
      System.out.println("String_Node_Str" + currentWarpFile.getName() + "String_Node_Str"+ e.getMessage());
      sender.sendMessage(ChatColor.RED + "String_Node_Str");
      return;
    }
  }
 else {
  }
  Player player=(Player)sender;
  Location loc=player.getLocation();
  try {
    FileWriter filewrite=new FileWriter(currentWarpFile,true);
    String dataAddition;
    if (pass != null) {
      dataAddition="String_Node_Str" + pass;
    }
 else {
      dataAddition="String_Node_Str";
    }
    filewrite.write(warpname + "String_Node_Str" + loc.getX()+ "String_Node_Str"+ loc.getY()+ "String_Node_Str"+ loc.getZ()+ "String_Node_Str"+ loc.getYaw()+ "String_Node_Str"+ loc.getPitch()+ "String_Node_Str"+ player.getWorld().getName()+ dataAddition+ "String_Node_Str");
    filewrite.close();
  }
 catch (  Exception e) {
    System.out.println("String_Node_Str" + e.getMessage());
    sender.sendMessage(ChatColor.RED + "String_Node_Str");
    return;
  }
  player.sendMessage(ChatColor.GREEN + "String_Node_Str" + ChatColor.WHITE+ warpname+ ChatColor.GREEN+ "String_Node_Str");
  String[] args;
  args=new String[3];
  args[1]=sender.getName();
  args[2]=warpname;
  String announcemsg=FactionsPlusTemplates.Go("String_Node_Str",args);
  for (  FPlayer fplayerlisting : currentFaction.getFPlayersWhereOnline(true)) {
    fplayerlisting.msg(announcemsg);
  }
}

Fixed version (ground truth):
public void perform(){
  String warpname=this.argAsString(0);
  String pass=null;
  if (this.argAsString(1) != null) {
    pass=this.argAsString(1);
  }
  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=myFaction;
  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 (FactionsPlus.config.getBoolean("String_Node_Str")) {
    authallow=true;
  }
  if (!authallow) {
    sender.sendMessage(ChatColor.RED + "String_Node_Str");
    return;
  }
  if (!fplayer.isInOwnTerritory()) {
    if (FactionsPlus.config.getBoolean("String_Node_Str")) {
      sender.sendMessage(ChatColor.RED + "String_Node_Str");
      return;
    }
  }
  if (FactionsPlus.config.getInt("String_Node_Str") > 0 && !FactionsPlus.config.getBoolean("String_Node_Str")) {
    if (!payForCommand(FactionsPlus.config.getInt("String_Node_Str"),"String_Node_Str","String_Node_Str")) {
      return;
    }
  }
  if (FactionsPlus.config.getInt("String_Node_Str") != 0) {
    if (Utilities.getCountOfWarps(currentFaction) >= FactionsPlus.config.getInt("String_Node_Str")) {
      sender.sendMessage(ChatColor.RED + "String_Node_Str");
      return;
    }
  }
  File currentWarpFile=new File("String_Node_Str" + File.separator + "String_Node_Str"+ File.separator+ "String_Node_Str"+ File.separator+ currentFaction.getId());
  if (!currentWarpFile.exists()) {
    try {
      currentWarpFile.createNewFile();
    }
 catch (    Exception e) {
      System.out.println("String_Node_Str" + currentWarpFile.getName() + "String_Node_Str"+ e.getMessage());
      sender.sendMessage(ChatColor.RED + "String_Node_Str");
      return;
    }
  }
 else {
    try {
      FileInputStream fstream=new FileInputStream(currentWarpFile);
      DataInputStream in=new DataInputStream(fstream);
      BufferedReader br=new BufferedReader(new InputStreamReader(in));
      String strLine;
      while ((strLine=br.readLine()) != null) {
        String[] warp_data=strLine.split("String_Node_Str");
        if (warp_data[0].equalsIgnoreCase(warpname)) {
          in.close();
          sender.sendMessage(ChatColor.RED + "String_Node_Str");
          return;
        }
      }
    }
 catch (    Exception e) {
      e.printStackTrace();
    }
  }
  Player player=(Player)sender;
  Location loc=player.getLocation();
  try {
    FileWriter filewrite=new FileWriter(currentWarpFile,true);
    String dataAddition;
    if (pass != null) {
      dataAddition="String_Node_Str" + pass;
    }
 else {
      dataAddition="String_Node_Str";
    }
    filewrite.write(warpname + "String_Node_Str" + loc.getX()+ "String_Node_Str"+ loc.getY()+ "String_Node_Str"+ loc.getZ()+ "String_Node_Str"+ loc.getYaw()+ "String_Node_Str"+ loc.getPitch()+ "String_Node_Str"+ player.getWorld().getName()+ dataAddition+ "String_Node_Str");
    filewrite.close();
  }
 catch (  Exception e) {
    System.out.println("String_Node_Str" + e.getMessage());
    sender.sendMessage(ChatColor.RED + "String_Node_Str");
    return;
  }
  player.sendMessage(ChatColor.GREEN + "String_Node_Str" + ChatColor.WHITE+ warpname+ ChatColor.GREEN+ "String_Node_Str");
  String[] args;
  args=new String[3];
  args[1]=sender.getName();
  args[2]=warpname;
  String announcemsg=FactionsPlusTemplates.Go("String_Node_Str",args);
  for (  FPlayer fplayerlisting : currentFaction.getFPlayersWhereOnline(true)) {
    fplayerlisting.msg(announcemsg);
  }
}