Program: 179019
Project: 179019
Buggy source:
public void OwnerProtect(String[] args,User user){
  Block pointedAt=((Player)user.getHandle()).getTargetBlock(null,4);
  ProtectedBlock block;
  if (args.length == 2) {
    if ((block=BenCmd.getProtections().getProtection(BenCmd.getProtections().getProtection(pointedAt.getLocation()))) != null) {
      if (!block.canChange(user.getName()) && !user.hasPerm("String_Node_Str")) {
        user.sendMessage(ChatColor.RED + "String_Node_Str");
        return;
      }
      PermissionUser newOwner;
      if ((newOwner=PermissionUser.matchUser(args[1])) == null) {
        user.sendMessage(ChatColor.RED + "String_Node_Str");
        return;
      }
      ProtectionEditEvent event=new ProtectionEditEvent(block,user,ChangeType.SET_OWNER,newOwner);
      Bukkit.getPluginManager().callEvent(event);
      if (event.isCancelled()) {
        return;
      }
      BenCmd.log(user.getDisplayName() + "String_Node_Str" + block.getOwner()+ "String_Node_Str"+ block.GetId()+ "String_Node_Str"+ args[1]);
      user.sendMessage(ChatColor.GREEN + "String_Node_Str" + newOwner.getName());
      BenCmd.getProtections().changeOwner(block.GetId(),newOwner.getName());
    }
 else {
      user.sendMessage(ChatColor.RED + "String_Node_Str");
    }
  }
 else   if (args.length == 3) {
    int id;
    try {
      id=Integer.parseInt(args[2]);
    }
 catch (    NumberFormatException e) {
      user.sendMessage(ChatColor.RED + args[2] + "String_Node_Str");
      return;
    }
    block=BenCmd.getProtections().getProtection(id);
    if (!block.canChange(user.getName()) && !user.hasPerm("String_Node_Str")) {
      user.sendMessage(ChatColor.RED + "String_Node_Str");
      return;
    }
    PermissionUser newOwner;
    if ((newOwner=PermissionUser.matchUser(args[0])) == null) {
      user.sendMessage(ChatColor.RED + "String_Node_Str");
      return;
    }
    ProtectionEditEvent event=new ProtectionEditEvent(block,user,ChangeType.SET_OWNER,newOwner);
    Bukkit.getPluginManager().callEvent(event);
    if (event.isCancelled()) {
      return;
    }
    BenCmd.log(user.getDisplayName() + "String_Node_Str" + block.getOwner()+ "String_Node_Str"+ block.GetId()+ "String_Node_Str"+ args[1]);
    user.sendMessage(ChatColor.GREEN + "String_Node_Str" + newOwner.getName());
    BenCmd.getProtections().changeOwner(block.GetId(),newOwner.getName());
  }
 else {
    user.sendMessage(ChatColor.YELLOW + "String_Node_Str");
  }
}

Fixed version (ground truth):
public void OwnerProtect(String[] args,User user){
  Block pointedAt=((Player)user.getHandle()).getTargetBlock(null,4);
  ProtectedBlock block;
  if (args.length == 2) {
    if ((block=BenCmd.getProtections().getProtection(BenCmd.getProtections().getProtection(pointedAt.getLocation()))) != null) {
      if (!block.canChange(user.getName()) && !user.hasPerm("String_Node_Str")) {
        user.sendMessage(ChatColor.RED + "String_Node_Str");
        return;
      }
      PermissionUser newOwner;
      if ((newOwner=PermissionUser.matchUserIgnoreCase(args[1])) == null) {
        user.sendMessage(ChatColor.RED + "String_Node_Str");
        return;
      }
      ProtectionEditEvent event=new ProtectionEditEvent(block,user,ChangeType.SET_OWNER,newOwner);
      Bukkit.getPluginManager().callEvent(event);
      if (event.isCancelled()) {
        return;
      }
      BenCmd.log(user.getDisplayName() + "String_Node_Str" + block.getOwner()+ "String_Node_Str"+ block.GetId()+ "String_Node_Str"+ args[1]);
      user.sendMessage(ChatColor.GREEN + "String_Node_Str" + newOwner.getName());
      BenCmd.getProtections().changeOwner(block.GetId(),newOwner.getName());
    }
 else {
      user.sendMessage(ChatColor.RED + "String_Node_Str");
    }
  }
 else   if (args.length == 3) {
    int id;
    try {
      id=Integer.parseInt(args[2]);
    }
 catch (    NumberFormatException e) {
      user.sendMessage(ChatColor.RED + args[2] + "String_Node_Str");
      return;
    }
    block=BenCmd.getProtections().getProtection(id);
    if (!block.canChange(user.getName()) && !user.hasPerm("String_Node_Str")) {
      user.sendMessage(ChatColor.RED + "String_Node_Str");
      return;
    }
    PermissionUser newOwner;
    if ((newOwner=PermissionUser.matchUserIgnoreCase(args[0])) == null) {
      user.sendMessage(ChatColor.RED + "String_Node_Str");
      return;
    }
    ProtectionEditEvent event=new ProtectionEditEvent(block,user,ChangeType.SET_OWNER,newOwner);
    Bukkit.getPluginManager().callEvent(event);
    if (event.isCancelled()) {
      return;
    }
    BenCmd.log(user.getDisplayName() + "String_Node_Str" + block.getOwner()+ "String_Node_Str"+ block.GetId()+ "String_Node_Str"+ args[1]);
    user.sendMessage(ChatColor.GREEN + "String_Node_Str" + newOwner.getName());
    BenCmd.getProtections().changeOwner(block.GetId(),newOwner.getName());
  }
 else {
    user.sendMessage(ChatColor.YELLOW + "String_Node_Str");
  }
}