Program: 34001
Project: 34001
Buggy source:
@Override public List<String> onTabComplete(final CommandSender sender,final Command command,final String label,final String[] args){
  final List<String> options=new ArrayList<String>();
  String lastArg=(args.length != 0 ? args[args.length - 1] : "String_Node_Str");
  if (!(sender instanceof Player)) {
switch (args.length) {
case 0:
case 1:
      options.addAll(Arrays.asList("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"));
    break;
case 2:
  if (args[0].equalsIgnoreCase("String_Node_Str")) {
    options.addAll(Util.getOnlinePlayerList());
  }
if (args[0].equalsIgnoreCase("String_Node_Str")) {
  options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str") || args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(plugin.getChallenges().getAllChallenges());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.add("String_Node_Str");
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.add("String_Node_Str");
options.add("String_Node_Str");
}
break;
case 3:
if (args[0].equalsIgnoreCase("String_Node_Str") || args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str") && args[1].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
final Biome[] biomes=Biome.values();
for (Biome b : biomes) {
if (plugin.getConfig().contains("String_Node_Str" + b.name())) {
options.add(b.name());
}
}
}
if (args[0].equalsIgnoreCase("String_Node_Str") && (args[1].equalsIgnoreCase("String_Node_Str") || args[1].equalsIgnoreCase("String_Node_Str"))) {
options.addAll(Util.getOnlinePlayerList());
}
break;
case 4:
if (args[0].equalsIgnoreCase("String_Node_Str") && args[1].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
}
}
 else {
final Player player=(Player)sender;
switch (args.length) {
case 0:
case 1:
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
options.add("String_Node_Str");
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (Settings.createNether && Settings.newNether && (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp())) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (Settings.teamChat && VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
break;
case 2:
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.addAll(Util.getOnlinePlayerList());
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && (args[0].equalsIgnoreCase("String_Node_Str") || args[0].equalsIgnoreCase("String_Node_Str"))) {
options.addAll(plugin.getChallenges().getAllChallenges());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.add("String_Node_Str");
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && (args[0].equalsIgnoreCase("String_Node_Str") || args[0].equalsIgnoreCase("String_Node_Str"))) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.add("String_Node_Str");
options.add("String_Node_Str");
}
break;
case 3:
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && (args[0].equalsIgnoreCase("String_Node_Str") || args[0].equalsIgnoreCase("String_Node_Str"))) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str") && args[1].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
final Biome[] biomes=Biome.values();
for (Biome b : biomes) {
if (plugin.getConfig().contains("String_Node_Str" + b.name())) {
options.add(b.name());
}
}
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str") && (args[1].equalsIgnoreCase("String_Node_Str") || args[1].equalsIgnoreCase("String_Node_Str"))) {
options.addAll(Util.getOnlinePlayerList());
}
break;
case 4:
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str") && args[1].equalsIgnoreCase("String_Node_Str")) {
final List<Player> players=PlayerCache.getOnlinePlayers();
for (Player p : players) {
options.add(p.getName());
}
}
}
}
return Util.tabLimit(options,lastArg);
}

Fixed version (ground truth):
@Override public List<String> onTabComplete(final CommandSender sender,final Command command,final String label,final String[] args){
  final List<String> options=new ArrayList<String>();
  String lastArg=(args.length != 0 ? args[args.length - 1] : "String_Node_Str");
  if (!(sender instanceof Player)) {
switch (args.length) {
case 0:
case 1:
      options.addAll(Arrays.asList("String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"));
    break;
case 2:
  if (args[0].equalsIgnoreCase("String_Node_Str")) {
    options.addAll(Util.getOnlinePlayerList());
  }
if (args[0].equalsIgnoreCase("String_Node_Str")) {
  options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str") || args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(plugin.getChallenges().getAllChallenges());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.add("String_Node_Str");
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
options.add("String_Node_Str");
options.add("String_Node_Str");
}
break;
case 3:
if (args[0].equalsIgnoreCase("String_Node_Str") || args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str") && args[1].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if (args[0].equalsIgnoreCase("String_Node_Str")) {
final Biome[] biomes=Biome.values();
for (Biome b : biomes) {
if (plugin.getConfig().contains("String_Node_Str" + b.name())) {
options.add(b.name());
}
}
}
if (args[0].equalsIgnoreCase("String_Node_Str") && (args[1].equalsIgnoreCase("String_Node_Str") || args[1].equalsIgnoreCase("String_Node_Str"))) {
options.addAll(Util.getOnlinePlayerList());
}
break;
case 4:
if (args[0].equalsIgnoreCase("String_Node_Str") && args[1].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
}
}
 else {
final Player player=(Player)sender;
switch (args.length) {
case 0:
case 1:
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
options.add("String_Node_Str");
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (Settings.createNether && Settings.newNether && ASkyBlock.getNetherWorld() != null && (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp())) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
if (Settings.teamChat && VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.add("String_Node_Str");
}
break;
case 2:
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.addAll(Util.getOnlinePlayerList());
}
if (VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && (args[0].equalsIgnoreCase("String_Node_Str") || args[0].equalsIgnoreCase("String_Node_Str"))) {
options.addAll(plugin.getChallenges().getAllChallenges());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.add("String_Node_Str");
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && (args[0].equalsIgnoreCase("String_Node_Str") || args[0].equalsIgnoreCase("String_Node_Str"))) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
options.add("String_Node_Str");
options.add("String_Node_Str");
}
break;
case 3:
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && (args[0].equalsIgnoreCase("String_Node_Str") || args[0].equalsIgnoreCase("String_Node_Str"))) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str") && args[1].equalsIgnoreCase("String_Node_Str")) {
options.addAll(Util.getOnlinePlayerList());
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str")) {
final Biome[] biomes=Biome.values();
for (Biome b : biomes) {
if (plugin.getConfig().contains("String_Node_Str" + b.name())) {
options.add(b.name());
}
}
}
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str") && (args[1].equalsIgnoreCase("String_Node_Str") || args[1].equalsIgnoreCase("String_Node_Str"))) {
options.addAll(Util.getOnlinePlayerList());
}
break;
case 4:
if ((VaultHelper.checkPerm(player,Settings.PERMPREFIX + "String_Node_Str") || player.isOp()) && args[0].equalsIgnoreCase("String_Node_Str") && args[1].equalsIgnoreCase("String_Node_Str")) {
final List<Player> players=PlayerCache.getOnlinePlayers();
for (Player p : players) {
options.add(p.getName());
}
}
}
}
return Util.tabLimit(options,lastArg);
}