nus-yam/ex-repair huggingface dataset:
Program: 33805
Project: 33805
Buggy source:
@SuppressWarnings("String_Node_Str") @EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=true) public void onInventoryClick(InventoryClickEvent event){
  Inventory inventory=event.getInventory();
  if (inventory.getName() == null) {
    return;
  }
  Player player=(Player)event.getWhoClicked();
  if (!inventory.getTitle().equals(plugin.myLocale(player.getUniqueId()).topTenGuiTitle)) {
    return;
  }
  event.setCancelled(true);
  player.updateInventory();
  if (event.getCurrentItem() != null) {
    event.getCurrentItem().setType(Material.AIR);
    player.closeInventory();
    Util.runCommand(player,"String_Node_Str" + getPlayer(event.getSlot()));
  }
  if (event.getSlotType().equals(SlotType.OUTSIDE)) {
    player.closeInventory();
    return;
  }
  if (event.getClick().equals(ClickType.SHIFT_RIGHT)) {
    player.closeInventory();
    return;
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=true) public void onInventoryClick(InventoryClickEvent event){
  Inventory inventory=event.getInventory();
  if (inventory.getName() == null) {
    return;
  }
  Player player=(Player)event.getWhoClicked();
  if (!inventory.getTitle().equals(plugin.myLocale(player.getUniqueId()).topTenGuiTitle)) {
    return;
  }
  event.setCancelled(true);
  player.updateInventory();
  if (event.getCurrentItem() != null && !event.getCurrentItem().getType().equals(Material.AIR) && event.getRawSlot() < 26) {
    event.getCurrentItem().setType(Material.AIR);
    player.closeInventory();
    String playerName=getPlayer(event.getRawSlot());
    UUID uuid=plugin.getPlayers().getUUID(playerName);
    if (uuid != null && plugin.getWarpSignsListener().getWarp(uuid) != null) {
      Util.runCommand(player,"String_Node_Str" + playerName);
    }
  }
  if (event.getSlotType().equals(SlotType.OUTSIDE)) {
    player.closeInventory();
    return;
  }
  if (event.getClick().equals(ClickType.SHIFT_RIGHT)) {
    player.closeInventory();
    return;
  }
}
Program: 33808
Project: 33808
Buggy source:
protected ASkyBlockAPI(ASkyBlock plugin){
  this.plugin=plugin;
  if (DEBUG)   Bukkit.getLogger().info("String_Node_Str");
  instance=this;
}

Fixed version (ground truth):
protected ASkyBlockAPI(ASkyBlock plugin){
  this.plugin=plugin;
  instance=this;
}
Program: 33809
Project: 33809
Buggy source:
/** 
 * Returns the island level from the last time it was calculated. Note this does not calculate the island level.
 * @param playerUUID - the player's UUID - player's UUID
 * @return the last level calculated for the island or zero if none.
 */
public long getLongIslandLevel(UUID playerUUID){
  if (DEBUG) {
    Bukkit.getLogger().info("String_Node_Str" + playerUUID);
    if (plugin == null) {
      Bukkit.getLogger().info("String_Node_Str");
    }
 else     if (plugin.getPlayers() == null) {
      Bukkit.getLogger().info("String_Node_Str");
    }
  }
  return plugin.getPlayers().getIslandLevel(playerUUID);
}

Fixed version (ground truth):
/** 
 * Returns the island level from the last time it was calculated. Note this does not calculate the island level.
 * @param playerUUID - the player's UUID - player's UUID
 * @return the last level calculated for the island or zero if none.
 */
public long getLongIslandLevel(UUID playerUUID){
  return plugin.getPlayers().getIslandLevel(playerUUID);
}
Program: 33810
Project: 33810
Buggy source:
/** 
 * @return the instance
 */
public static ASkyBlockAPI getInstance(){
  if (DEBUG)   Bukkit.getLogger().info("String_Node_Str");
  if (instance == null)   new ASkyBlockAPI(ASkyBlock.getPlugin());
  return instance;
}

Fixed version (ground truth):
/** 
 * @return the instance
 */
public static ASkyBlockAPI getInstance(){
  if (instance == null)   new ASkyBlockAPI(ASkyBlock.getPlugin());
  return instance;
}
Program: 33811
Project: 33811
Buggy source:
/** 
 * Runs repeating tasks to deliver acid damage to mobs, etc.
 * @param plugin - ASkyBlock plugin object - ASkyBlock plugin
 */
public AcidTask(final ASkyBlock plugin){
  this.plugin=plugin;
  itemsInWater=new HashSet<UUID>();
  if (Settings.mobAcidDamage > 0D || Settings.animalAcidDamage > 0D) {
    plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin,new Runnable(){
      @Override public void run(){
        List<Entity> entList=ASkyBlock.getIslandWorld().getEntities();
        for (        Entity current : entList) {
          if (plugin.isOnePointEight() && current instanceof Guardian) {
            continue;
          }
          if ((current instanceof Monster) && Settings.mobAcidDamage > 0D) {
            if ((current.getLocation().getBlock().getType() == Material.WATER) || (current.getLocation().getBlock().getType() == Material.STATIONARY_WATER)) {
              ((Monster)current).damage(Settings.mobAcidDamage);
            }
          }
 else           if ((current instanceof Animals) && Settings.animalAcidDamage > 0D) {
            if ((current.getLocation().getBlock().getType() == Material.WATER) || (current.getLocation().getBlock().getType() == Material.STATIONARY_WATER)) {
              if (!current.getType().equals(EntityType.CHICKEN)) {
                ((Animals)current).damage(Settings.animalAcidDamage);
              }
 else               if (Settings.damageChickens) {
                ((Animals)current).damage(Settings.animalAcidDamage);
              }
            }
          }
        }
      }
    }
,0L,20L);
  }
  runAcidItemRemovalTask();
}

Fixed version (ground truth):
/** 
 * Runs repeating tasks to deliver acid damage to mobs, etc.
 * @param plugin - ASkyBlock plugin object - ASkyBlock plugin
 */
public AcidTask(final ASkyBlock plugin){
  this.plugin=plugin;
  itemsInWater=new HashSet<UUID>();
  if (Settings.mobAcidDamage > 0D || Settings.animalAcidDamage > 0D) {
    plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin,new Runnable(){
      @Override public void run(){
        List<Entity> entList=ASkyBlock.getIslandWorld().getEntities();
        for (        Entity current : entList) {
          if (plugin.isOnePointEight() && current instanceof Guardian) {
            continue;
          }
          if ((current instanceof Monster) && Settings.mobAcidDamage > 0D) {
            if ((current.getLocation().getBlock().getType() == Material.WATER) || (current.getLocation().getBlock().getType() == Material.STATIONARY_WATER)) {
              ((Monster)current).damage(Settings.mobAcidDamage);
            }
          }
 else           if ((current instanceof Animals) && Settings.animalAcidDamage > 0D) {
            if ((current.getLocation().getBlock().getType() == Material.WATER) || (current.getLocation().getBlock().getType() == Material.STATIONARY_WATER)) {
              if (!current.getType().equals(EntityType.CHICKEN) || Settings.damageChickens) {
                ((Animals)current).damage(Settings.animalAcidDamage);
              }
            }
          }
        }
      }
    }
,0L,20L);
  }
  runAcidItemRemovalTask();
}
Program: 33814
Project: 33814
Buggy source:
/** 
 * Finds out if location is within a set of island locations and returns the one that is there or null if not
 * @param islandTestLocations set of test locations
 * @param loc location to query
 * @return Location found that is on the island
 */
public Location locationIsOnIsland(final Set<Location> islandTestLocations,final Location loc){
  for (  Location islandTestLocation : islandTestLocations) {
    if (loc.getWorld().equals(islandTestLocation.getWorld())) {
      if (getIslandAt(islandTestLocation) != null) {
        Island island=getProtectedIslandAt(islandTestLocation);
        if (island != null) {
          return island.getCenter();
        }
      }
 else       if (loc.getX() > islandTestLocation.getX() - Settings.islandProtectionRange / 2 && loc.getX() < islandTestLocation.getX() + Settings.islandProtectionRange / 2 && loc.getZ() > islandTestLocation.getZ() - Settings.islandProtectionRange / 2 && loc.getZ() < islandTestLocation.getZ() + Settings.islandProtectionRange / 2) {
        return islandTestLocation;
      }
    }
  }
  return null;
}

Fixed version (ground truth):
/** 
 * Finds out if location is within a set of island locations and returns the one that is there or null if not
 * @param islandTestLocations set of test locations
 * @param loc location to query
 * @return Location found that is on the island
 */
public Location locationIsOnIsland(final Set<Location> islandTestLocations,final Location loc){
  for (  Location islandTestLocation : islandTestLocations) {
    if (loc.getWorld().equals(islandTestLocation.getWorld())) {
      if (getIslandAt(islandTestLocation) != null) {
        Island island=getProtectedIslandAt(islandTestLocation);
        if (island != null) {
          return island.getCenter();
        }
      }
 else       if (loc.getX() > islandTestLocation.getX() - Settings.islandProtectionRange / 2D && loc.getX() < islandTestLocation.getX() + Settings.islandProtectionRange / 2D && loc.getZ() > islandTestLocation.getZ() - Settings.islandProtectionRange / 2D && loc.getZ() < islandTestLocation.getZ() + Settings.islandProtectionRange / 2D) {
        return islandTestLocation;
      }
    }
  }
  return null;
}
Program: 33815
Project: 33815
Buggy source:
/** 
 * Teleport player to a home location. If one cannot be found a search is done to find a safe place.
 * @param player player object
 * @param number - home location to do to
 * @return true if successful, false if not
 */
public boolean homeTeleport(final Player player,int number){
  Location home=null;
  home=getSafeHomeLocation(player.getUniqueId(),number);
  if (player.isInsideVehicle()) {
    Entity boat=player.getVehicle();
    if (boat instanceof Boat) {
      player.leaveVehicle();
      boat.remove();
      player.getInventory().addItem(new ItemStack(Material.BOAT,1));
      player.updateInventory();
    }
  }
  if (home == null) {
    new SafeTeleportBuilder(plugin).entity(player).location(plugin.getPlayers().getHomeLocation(player.getUniqueId(),number)).homeNumber(number).build();
    return true;
  }
  player.teleport(home);
  if (number == 1) {
    Util.sendMessage(player,ChatColor.GREEN + plugin.myLocale(player.getUniqueId()).islandteleport);
  }
 else {
    Util.sendMessage(player,ChatColor.GREEN + plugin.myLocale(player.getUniqueId()).islandteleport + "String_Node_Str"+ number);
  }
  return true;
}

Fixed version (ground truth):
/** 
 * Teleport player to a home location. If one cannot be found a search is done to find a safe place.
 * @param player player object
 * @param number - home location to do to
 * @return true if successful, false if not
 */
@SuppressWarnings("String_Node_Str") public boolean homeTeleport(final Player player,int number){
  Location home=null;
  home=getSafeHomeLocation(player.getUniqueId(),number);
  if (player.isInsideVehicle()) {
    Entity boat=player.getVehicle();
    if (boat instanceof Boat) {
      player.leaveVehicle();
      boat.remove();
      player.getInventory().addItem(new ItemStack(Material.BOAT,1));
      player.updateInventory();
    }
  }
  if (home == null) {
    new SafeTeleportBuilder(plugin).entity(player).location(plugin.getPlayers().getHomeLocation(player.getUniqueId(),number)).homeNumber(number).build();
    return true;
  }
  player.teleport(home);
  if (number == 1) {
    Util.sendMessage(player,ChatColor.GREEN + plugin.myLocale(player.getUniqueId()).islandteleport);
  }
 else {
    Util.sendMessage(player,ChatColor.GREEN + plugin.myLocale(player.getUniqueId()).islandteleport + "String_Node_Str"+ number);
  }
  return true;
}
Program: 33819
Project: 33819
Buggy source:
public LevelCalcByChunk(final ASkyBlock plugin,final Island island,final UUID targetPlayer,final CommandSender asker,final boolean report){
  this.plugin=plugin;
  this.island=island;
  this.world=island != null ? island.getCenter().getWorld() : null;
  this.asker=asker;
  this.targetPlayer=targetPlayer;
  this.limitCount=new HashMap<>(Settings.blockLimits);
  this.report=report;
  this.oldLevel=plugin.getPlayers().getIslandLevel(targetPlayer);
  result=new Results();
  chunksToScan=getChunksToScan(island);
  checking=true;
  task=plugin.getServer().getScheduler().runTaskTimer(plugin,new Runnable(){
    @Override public void run(){
      Set<ChunkSnapshot> chunkSnapshot=new HashSet<>();
      if (checking) {
        Iterator<Pair<Integer,Integer>> it=chunksToScan.iterator();
        if (!it.hasNext()) {
          tidyUp();
          return;
        }
        while (it.hasNext() && chunkSnapshot.size() < MAX_CHUNKS) {
          Pair<Integer,Integer> pair=it.next();
          if (!world.isChunkLoaded(pair.x,pair.z)) {
            world.loadChunk(pair.x,pair.z);
            chunkSnapshot.add(world.getChunkAt(pair.x,pair.z).getChunkSnapshot());
            world.unloadChunk(pair.x,pair.z);
          }
 else {
            chunkSnapshot.add(world.getChunkAt(pair.x,pair.z).getChunkSnapshot());
          }
          it.remove();
        }
        checking=false;
        checkChunksAsync(chunkSnapshot);
      }
    }
  }
,0L,SPEED);
}

Fixed version (ground truth):
public LevelCalcByChunk(final ASkyBlock plugin,final Island island,final UUID targetPlayer,final CommandSender asker,final boolean report){
  this.plugin=plugin;
  this.island=island;
  this.world=island != null ? island.getCenter().getWorld() : null;
  this.asker=asker;
  this.targetPlayer=targetPlayer;
  this.limitCount=new HashMap<>(Settings.blockLimits);
  this.report=report;
  this.oldLevel=plugin.getPlayers().getIslandLevel(targetPlayer);
  result=new Results();
  if (island == null) {
    return;
  }
  chunksToScan=getChunksToScan(island);
  checking=true;
  task=plugin.getServer().getScheduler().runTaskTimer(plugin,new Runnable(){
    @Override public void run(){
      Set<ChunkSnapshot> chunkSnapshot=new HashSet<>();
      if (checking) {
        Iterator<Pair<Integer,Integer>> it=chunksToScan.iterator();
        if (!it.hasNext()) {
          tidyUp();
          return;
        }
        while (it.hasNext() && chunkSnapshot.size() < MAX_CHUNKS) {
          Pair<Integer,Integer> pair=it.next();
          if (!world.isChunkLoaded(pair.x,pair.z)) {
            world.loadChunk(pair.x,pair.z);
            chunkSnapshot.add(world.getChunkAt(pair.x,pair.z).getChunkSnapshot());
            world.unloadChunk(pair.x,pair.z);
          }
 else {
            chunkSnapshot.add(world.getChunkAt(pair.x,pair.z).getChunkSnapshot());
          }
          it.remove();
        }
        checking=false;
        checkChunksAsync(chunkSnapshot);
      }
    }
  }
,0L,SPEED);
}
Program: 33820
Project: 33820
Buggy source:
/** 
 * Starts the Scheduler which submits our data every 30 minutes.
 */
private void startSubmitting(){
  final Timer timer=new Timer(true);
  timer.scheduleAtFixedRate(new TimerTask(){
    @Override public void run(){
      if (!plugin.isEnabled()) {
        timer.cancel();
        return;
      }
      Bukkit.getScheduler().runTask(plugin,new Runnable(){
        @Override public void run(){
          submitData();
        }
      }
);
    }
  }
,1000 * 60 * 5,1000 * 60 * 30);
}

Fixed version (ground truth):
/** 
 * Starts the Scheduler which submits our data every 30 minutes.
 */
private void startSubmitting(){
  final Timer timer=new Timer(true);
  timer.scheduleAtFixedRate(new TimerTask(){
    @Override public void run(){
      if (!plugin.isEnabled()) {
        timer.cancel();
        return;
      }
      Bukkit.getScheduler().runTask(plugin,new Runnable(){
        @Override public void run(){
          submitData();
        }
      }
);
    }
  }
,1000 * 60 * 5L,1000 * 60 * 30L);
}
Program: 33821
Project: 33821
Buggy source:
/** 
 * Sends the data to the bStats server.
 * @param data The data to send.
 * @throws Exception If the request failed.
 */
private static void sendData(JSONObject data) throws Exception {
  if (data == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (Bukkit.isPrimaryThread()) {
    throw new IllegalAccessException("String_Node_Str");
  }
  HttpsURLConnection connection=(HttpsURLConnection)new URL(URL).openConnection();
  byte[] compressedData=compress(data.toString());
  connection.setRequestMethod("String_Node_Str");
  connection.addRequestProperty("String_Node_Str","String_Node_Str");
  connection.addRequestProperty("String_Node_Str","String_Node_Str");
  connection.addRequestProperty("String_Node_Str","String_Node_Str");
  connection.addRequestProperty("String_Node_Str",String.valueOf(compressedData.length));
  connection.setRequestProperty("String_Node_Str","String_Node_Str");
  connection.setRequestProperty("String_Node_Str","String_Node_Str" + B_STATS_VERSION);
  connection.setDoOutput(true);
  DataOutputStream outputStream=new DataOutputStream(connection.getOutputStream());
  outputStream.write(compressedData);
  outputStream.flush();
  outputStream.close();
  connection.getInputStream().close();
}

Fixed version (ground truth):
/** 
 * Sends the data to the bStats server.
 * @param data The data to send.
 * @throws Exception If the request failed.
 */
private static void sendData(JSONObject data) throws Exception {
  if (data == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (Bukkit.isPrimaryThread()) {
    throw new IllegalAccessException("String_Node_Str");
  }
  HttpsURLConnection connection=(HttpsURLConnection)new URL(URL).openConnection();
  byte[] compressedData=compress(data.toString());
  if (compressedData == null) {
    return;
  }
  connection.setRequestMethod("String_Node_Str");
  connection.addRequestProperty("String_Node_Str","String_Node_Str");
  connection.addRequestProperty("String_Node_Str","String_Node_Str");
  connection.addRequestProperty("String_Node_Str","String_Node_Str");
  connection.addRequestProperty("String_Node_Str",String.valueOf(compressedData.length));
  connection.setRequestProperty("String_Node_Str","String_Node_Str");
  connection.setRequestProperty("String_Node_Str","String_Node_Str" + B_STATS_VERSION);
  connection.setDoOutput(true);
  DataOutputStream outputStream=new DataOutputStream(connection.getOutputStream());
  outputStream.write(compressedData);
  outputStream.flush();
  outputStream.close();
  connection.getInputStream().close();
}
Program: 33823
Project: 33823
Buggy source:
private IslandPreLevelEvent saveLevel(Island island,UUID targetPlayer,long pointsToNextLevel){
  final IslandPreLevelEvent event=new IslandPreLevelEvent(targetPlayer,island,result.score);
  event.setLongPointsToNextLevel(pointsToNextLevel);
  plugin.getServer().getPluginManager().callEvent(event);
  if (!event.isCancelled()) {
    plugin.getPlayers().setIslandLevel(island.getOwner(),event.getLongLevel());
    if (plugin.getPlayers().inTeam(targetPlayer)) {
      for (      UUID member : plugin.getPlayers().getMembers(targetPlayer)) {
        if (plugin.getPlayers().getIslandLevel(member) != event.getLongLevel()) {
          plugin.getPlayers().setIslandLevel(member,event.getLongLevel());
          plugin.getPlayers().save(member);
        }
      }
      if (plugin.getPlayers().inTeam(targetPlayer)) {
        UUID leader=plugin.getPlayers().getTeamLeader(targetPlayer);
        if (leader != null) {
          TopTen.topTenAddEntry(leader,event.getLongLevel());
        }
      }
 else {
        TopTen.topTenAddEntry(targetPlayer,event.getLongLevel());
      }
    }
  }
  return event;
}

Fixed version (ground truth):
private IslandPreLevelEvent saveLevel(Island island,UUID targetPlayer,long pointsToNextLevel){
  final IslandPreLevelEvent event=new IslandPreLevelEvent(targetPlayer,island,result.score);
  event.setLongPointsToNextLevel(pointsToNextLevel);
  plugin.getServer().getPluginManager().callEvent(event);
  if (!event.isCancelled()) {
    plugin.getPlayers().setIslandLevel(island.getOwner(),event.getLongLevel());
    if (plugin.getPlayers().inTeam(targetPlayer)) {
      for (      UUID member : plugin.getPlayers().getMembers(targetPlayer)) {
        if (plugin.getPlayers().getIslandLevel(member) != event.getLongLevel()) {
          plugin.getPlayers().setIslandLevel(member,event.getLongLevel());
          plugin.getPlayers().save(member);
        }
      }
      UUID leader=plugin.getPlayers().getTeamLeader(targetPlayer);
      if (leader != null) {
        TopTen.topTenAddEntry(leader,event.getLongLevel());
      }
    }
 else {
      TopTen.topTenAddEntry(targetPlayer,event.getLongLevel());
    }
  }
  return event;
}
Program: 33824
Project: 33824
Buggy source:
@SuppressWarnings("String_Node_Str") static ItemStack getSkull(int rank,Long long1,UUID player){
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  String playerName=plugin.getPlayers().getName(player);
  if (DEBUG) {
    plugin.getLogger().info("String_Node_Str" + playerName);
    plugin.getLogger().info("String_Node_Str" + plugin.getPlayers().getName(player));
  }
  ItemStack playerSkull=new ItemStack(Material.SKULL_ITEM,1,(short)3);
  if (playerName == null)   return null;
  SkullMeta meta=(SkullMeta)playerSkull.getItemMeta();
  if (topTenHeads.containsKey(player)) {
    playerSkull=topTenHeads.get(player);
  }
 else {
    meta.setOwner(playerName);
  }
  meta.setDisplayName((plugin.myLocale(player).topTenGuiHeading.replace("String_Node_Str",plugin.getGrid().getIslandName(player))).replace("String_Node_Str",String.valueOf(rank)));
  List<String> lore=new ArrayList<String>();
  lore.add(ChatColor.YELLOW + plugin.myLocale(player).levelislandLevel + "String_Node_Str"+ long1);
  if (plugin.getPlayers().inTeam(player)) {
    final List<UUID> pMembers=plugin.getPlayers().getMembers(player);
    List<String> memberList=new ArrayList<>();
    for (    UUID members : pMembers) {
      memberList.add(ChatColor.AQUA + plugin.getPlayers().getName(members));
    }
    lore.addAll(memberList);
  }
  meta.setLore(lore);
  playerSkull.setItemMeta(meta);
  topTenHeads.put(player,playerSkull);
  return playerSkull;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") static ItemStack getSkull(int rank,Long long1,UUID player){
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  String playerName=plugin.getPlayers().getName(player);
  if (DEBUG) {
    plugin.getLogger().info("String_Node_Str" + playerName);
    plugin.getLogger().info("String_Node_Str" + plugin.getPlayers().getName(player));
  }
  ItemStack playerSkull=new ItemStack(Material.SKULL_ITEM,1,(short)3);
  if (playerName == null)   return null;
  SkullMeta meta=(SkullMeta)playerSkull.getItemMeta();
  if (topTenHeads.containsKey(player)) {
    playerSkull=topTenHeads.get(player);
    meta=(SkullMeta)playerSkull.getItemMeta();
  }
 else {
    meta.setOwner(playerName);
  }
  meta.setDisplayName((plugin.myLocale(player).topTenGuiHeading.replace("String_Node_Str",plugin.getGrid().getIslandName(player))).replace("String_Node_Str",String.valueOf(rank)));
  List<String> lore=new ArrayList<String>();
  lore.add(ChatColor.YELLOW + plugin.myLocale(player).levelislandLevel + "String_Node_Str"+ long1);
  if (plugin.getPlayers().inTeam(player)) {
    final List<UUID> pMembers=plugin.getPlayers().getMembers(player);
    List<String> memberList=new ArrayList<>();
    for (    UUID members : pMembers) {
      memberList.add(ChatColor.AQUA + plugin.getPlayers().getName(members));
    }
    lore.addAll(memberList);
  }
  meta.setLore(lore);
  playerSkull.setItemMeta(meta);
  topTenHeads.put(player,playerSkull);
  return playerSkull;
}
Program: 33825
Project: 33825
Buggy source:
/** 
 * Adds a player to the top ten, if the level is good enough
 * @param ownerUUID
 * @param l
 */
public static void topTenAddEntry(UUID ownerUUID,long l){
  if (l < 1) {
    if (topTenList.containsKey(ownerUUID)) {
      topTenList.remove(ownerUUID);
    }
    return;
  }
  Player player=plugin.getServer().getPlayer(ownerUUID);
  if (player != null) {
    if (!player.hasPermission(Settings.PERMPREFIX + "String_Node_Str")) {
      topTenList.remove(ownerUUID);
      return;
    }
  }
  topTenList.put(ownerUUID,l);
  topTenList=MapUtil.sortByValue(topTenList);
}

Fixed version (ground truth):
/** 
 * Adds a player to the top ten, if the level is good enough
 * @param ownerUUID
 * @param l
 */
public static void topTenAddEntry(UUID ownerUUID,long l){
  if (DEBUG) {
    plugin.getLogger().info("String_Node_Str" + ownerUUID + "String_Node_Str"+ l);
  }
  if (l < 1) {
    if (topTenList.containsKey(ownerUUID)) {
      topTenList.remove(ownerUUID);
    }
    return;
  }
  Player player=plugin.getServer().getPlayer(ownerUUID);
  if (player != null) {
    if (!player.hasPermission(Settings.PERMPREFIX + "String_Node_Str")) {
      topTenList.remove(ownerUUID);
      return;
    }
  }
  topTenList.put(ownerUUID,l);
  topTenList=MapUtil.sortByValue(topTenList);
}
Program: 33826
Project: 33826
Buggy source:
/** 
 * Adds a new warp to the cache. Does NOT update the panels
 * @param playerUUID - the player's UUID
 */
@SuppressWarnings("String_Node_Str") public void addWarp(UUID playerUUID){
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (cachedWarps.containsKey(playerUUID)) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    ItemStack playerSkull=cachedWarps.get(playerUUID);
    playerSkull=updateText(playerSkull,playerUUID);
    plugin.getWarpPanel().updatePanel();
    return;
  }
  String playerName=plugin.getPlayers().getName(playerUUID);
  if (DEBUG)   plugin.getLogger().info("String_Node_Str" + playerName);
  if (playerName == null) {
    if (DEBUG)     plugin.getLogger().warning("String_Node_Str" + playerUUID.toString() + "String_Node_Str");
    return;
  }
  ItemStack playerSkull=new ItemStack(Material.SKULL_ITEM,1,(short)3);
  cachedWarps.put(playerUUID,playerSkull);
  SkullMeta meta=(SkullMeta)playerSkull.getItemMeta();
  meta.setDisplayName(ChatColor.WHITE + playerName);
  playerSkull.setItemMeta(meta);
  Bukkit.getScheduler().runTaskAsynchronously(plugin,() -> {
    meta.setOwner(playerName);
    meta.setDisplayName(ChatColor.WHITE + playerName);
    playerSkull.setItemMeta(meta);
    cachedWarps.put(playerUUID,playerSkull);
    addWarp(playerUUID);
  }
);
}

Fixed version (ground truth):
/** 
 * Adds a new warp to the cache. Does NOT update the panels
 * @param playerUUID - the player's UUID
 */
@SuppressWarnings("String_Node_Str") public void addWarp(UUID playerUUID){
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  if (cachedWarps.containsKey(playerUUID)) {
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    ItemStack playerSkull=cachedWarps.get(playerUUID);
    playerSkull=updateText(playerSkull,playerUUID);
    plugin.getWarpPanel().updatePanel();
    return;
  }
  String playerName=plugin.getPlayers().getName(playerUUID);
  if (DEBUG)   plugin.getLogger().info("String_Node_Str" + playerName);
  if (playerName == null) {
    if (DEBUG)     plugin.getLogger().warning("String_Node_Str" + playerUUID.toString() + "String_Node_Str");
    return;
  }
  ItemStack playerSkull=new ItemStack(Material.SKULL_ITEM,1,(short)3);
  cachedWarps.put(playerUUID,playerSkull);
  SkullMeta meta=(SkullMeta)playerSkull.getItemMeta();
  meta.setDisplayName(ChatColor.WHITE + playerName);
  playerSkull.setItemMeta(meta);
  Bukkit.getScheduler().runTaskAsynchronously(plugin,() -> {
    meta.setOwner(playerName);
    meta.setDisplayName(ChatColor.WHITE + playerName);
    playerSkull.setItemMeta(meta);
    cachedWarps.put(playerUUID,playerSkull);
    Bukkit.getScheduler().runTask(plugin,() -> {
      addWarp(playerUUID);
    }
);
  }
);
}
Program: 33833
Project: 33833
Buggy source:
/** 
 * Prevents blocks from being broken
 * @param e
 */
@EventHandler(priority=EventPriority.LOW) public void onBlockBreak(final BlockBreakEvent e){
  if (DEBUG)   plugin.getLogger().info("String_Node_Str" + e.getEventName());
  if ((e.getPlayer().getWorld().getName().equalsIgnoreCase(Settings.worldName + "String_Node_Str") && !Settings.newNether) || e.getPlayer().getWorld().getName().equalsIgnoreCase(Settings.worldName + "String_Node_Str")) {
    if (VaultHelper.checkPerm(e.getPlayer(),Settings.PERMPREFIX + "String_Node_Str")) {
      return;
    }
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    if (!awayFromSpawn(e.getPlayer()) && !e.getPlayer().isOp()) {
      Util.sendMessage(e.getPlayer(),plugin.myLocale(e.getPlayer().getUniqueId()).netherSpawnIsProtected);
      e.setCancelled(true);
    }
  }
}

Fixed version (ground truth):
/** 
 * Prevents blocks from being broken
 * @param e
 */
@EventHandler(priority=EventPriority.LOW) public void onBlockBreak(final BlockBreakEvent e){
  if (DEBUG2)   plugin.getLogger().info("String_Node_Str" + e.getEventName());
  if ((e.getPlayer().getWorld().getName().equalsIgnoreCase(Settings.worldName + "String_Node_Str") && !Settings.newNether) || e.getPlayer().getWorld().getName().equalsIgnoreCase(Settings.worldName + "String_Node_Str")) {
    if (VaultHelper.checkPerm(e.getPlayer(),Settings.PERMPREFIX + "String_Node_Str")) {
      return;
    }
    if (DEBUG)     plugin.getLogger().info("String_Node_Str");
    if (!awayFromSpawn(e.getPlayer()) && !e.getPlayer().isOp()) {
      Util.sendMessage(e.getPlayer(),plugin.myLocale(e.getPlayer().getUniqueId()).netherSpawnIsProtected);
      e.setCancelled(true);
    }
  }
}
Program: 33836
Project: 33836
Buggy source:
/** 
 * Prevents placing of blocks
 * @param e
 */
@EventHandler(priority=EventPriority.LOW) public void onPlayerBlockPlace(final BlockPlaceEvent e){
  if (DEBUG)   plugin.getLogger().info("String_Node_Str" + e.getEventName());
  if (!Settings.newNether) {
    if (e.getPlayer().getWorld().getName().equalsIgnoreCase(Settings.worldName + "String_Node_Str") || e.getPlayer().getWorld().getName().equalsIgnoreCase(Settings.worldName + "String_Node_Str")) {
      if (VaultHelper.checkPerm(e.getPlayer(),Settings.PERMPREFIX + "String_Node_Str")) {
        return;
      }
      if (!awayFromSpawn(e.getPlayer()) && !e.getPlayer().isOp()) {
        e.setCancelled(true);
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Prevents placing of blocks
 * @param e
 */
@EventHandler(priority=EventPriority.LOW) public void onPlayerBlockPlace(final BlockPlaceEvent e){
  if (DEBUG2)   plugin.getLogger().info("String_Node_Str" + e.getEventName());
  if (!Settings.newNether) {
    if (e.getPlayer().getWorld().getName().equalsIgnoreCase(Settings.worldName + "String_Node_Str") || e.getPlayer().getWorld().getName().equalsIgnoreCase(Settings.worldName + "String_Node_Str")) {
      if (VaultHelper.checkPerm(e.getPlayer(),Settings.PERMPREFIX + "String_Node_Str")) {
        return;
      }
      if (!awayFromSpawn(e.getPlayer()) && !e.getPlayer().isOp()) {
        e.setCancelled(true);
      }
    }
  }
}
Program: 33842
Project: 33842
Buggy source:
public IPItem(Boolean boolean1,Material material,String name,UUID uuid){
  createToggleableItem(flagValue,material,0,name,uuid);
}

Fixed version (ground truth):
public IPItem(Boolean boolean1,Material material,String name,UUID uuid){
  createToggleableItem(boolean1,material,0,name,uuid);
}
Program: 33843
Project: 33843
Buggy source:
/** 
 * @return Sorted list of warps with most recent players listed first
 */
public Collection<UUID> listSortedWarps(){
  TreeMap<Long,UUID> map=new TreeMap<Long,UUID>();
  for (  UUID uuid : warpList.keySet()) {
    long lastPlayed=plugin.getServer().getOfflinePlayer(uuid).getLastPlayed();
    if (!map.isEmpty() && map.containsKey(lastPlayed)) {
      lastPlayed=map.firstKey() - 1;
    }
    map.put(lastPlayed,uuid);
  }
  Collection<UUID> result=map.descendingMap().values();
  WarpListEvent event=new WarpListEvent(plugin,result);
  plugin.getServer().getPluginManager().callEvent(event);
  result=event.getWarps();
  return result;
}

Fixed version (ground truth):
/** 
 * @return Sorted list of warps with most recent players listed first
 */
public Collection<UUID> listSortedWarps(){
  TreeMap<Long,UUID> map=new TreeMap<Long,UUID>();
  Iterator<Entry<UUID,Location>> it=warpList.entrySet().iterator();
  while (it.hasNext()) {
    Entry<UUID,Location> en=it.next();
    if (en.getValue() == null) {
      it.remove();
    }
 else {
      UUID uuid=en.getKey();
      long lastPlayed=plugin.getServer().getOfflinePlayer(uuid).getLastPlayed();
      if (!map.isEmpty() && map.containsKey(lastPlayed)) {
        lastPlayed=map.firstKey() - 1;
      }
      map.put(lastPlayed,uuid);
    }
  }
  Collection<UUID> result=map.descendingMap().values();
  WarpListEvent event=new WarpListEvent(plugin,result);
  plugin.getServer().getPluginManager().callEvent(event);
  result=event.getWarps();
  return result;
}
Program: 33845
Project: 33845
Buggy source:
/** 
 * Provides the location of the warp for player or null if one is not found
 * @param playerUUID - the warp requested
 * @return Location of warp
 */
public Location getWarp(UUID playerUUID){
  if (playerUUID != null && warpList.containsKey(playerUUID)) {
    return warpList.get(playerUUID);
  }
 else {
    return null;
  }
}

Fixed version (ground truth):
/** 
 * Provides the location of the warp for player or null if one is not found
 * @param playerUUID - the warp requested
 * @return Location of warp
 */
public Location getWarp(UUID playerUUID){
  if (playerUUID != null && warpList.containsKey(playerUUID)) {
    if (warpList.get(playerUUID) == null) {
      warpList.remove(playerUUID);
      return null;
    }
    return warpList.get(playerUUID);
  }
 else {
    return null;
  }
}
Program: 33846
Project: 33846
Buggy source:
/** 
 * Lists all the known warps
 * @return String set of warps
 */
public Set<UUID> listWarps(){
  return warpList.keySet();
}

Fixed version (ground truth):
/** 
 * Lists all the known warps
 * @return String set of warps
 */
public Set<UUID> listWarps(){
  Iterator<Entry<UUID,Location>> it=warpList.entrySet().iterator();
  while (it.hasNext()) {
    Entry<UUID,Location> en=it.next();
    if (en.getValue() == null) {
      it.remove();
    }
  }
  return warpList.keySet();
}
Program: 33847
Project: 33847
Buggy source:
/** 
 * Updates the meta text on the skull by looking at the warp sign This MUST be run 1 TICK AFTER the sign has been created otherwise the sign is blank
 * @param playerSkull
 * @param playerUUID
 * @return updated skull item stack
 */
private ItemStack updateText(ItemStack playerSkull,final UUID playerUUID){
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  ItemMeta meta=playerSkull.getItemMeta();
  Location signLocation=plugin.getWarpSignsListener().getWarp(playerUUID);
  if (signLocation.getBlock().getType().equals(Material.SIGN_POST) || signLocation.getBlock().getType().equals(Material.WALL_SIGN)) {
    Sign sign=(Sign)signLocation.getBlock().getState();
    List<String> lines=new ArrayList<String>(Arrays.asList(sign.getLines()));
    Island island=plugin.getGrid().getIsland(playerUUID);
    if (island != null) {
      if ((signLocation.getWorld().equals(ASkyBlock.getIslandWorld()) && island.getIgsFlag(SettingsFlag.PVP)) || (signLocation.getWorld().equals(ASkyBlock.getNetherWorld()) && island.getIgsFlag(SettingsFlag.NETHER_PVP))) {
        if (DEBUG)         plugin.getLogger().info("String_Node_Str");
        lines.add(ChatColor.RED + plugin.myLocale().igs.get(SettingsFlag.PVP));
      }
    }
    meta.setLore(lines);
    if (DEBUG)     plugin.getLogger().info("String_Node_Str" + lines);
  }
  playerSkull.setItemMeta(meta);
  return playerSkull;
}

Fixed version (ground truth):
/** 
 * Updates the meta text on the skull by looking at the warp sign This MUST be run 1 TICK AFTER the sign has been created otherwise the sign is blank
 * @param playerSkull
 * @param playerUUID
 * @return updated skull item stack
 */
private ItemStack updateText(ItemStack playerSkull,final UUID playerUUID){
  if (DEBUG)   plugin.getLogger().info("String_Node_Str");
  ItemMeta meta=playerSkull.getItemMeta();
  Location signLocation=plugin.getWarpSignsListener().getWarp(playerUUID);
  if (signLocation == null) {
    plugin.getWarpSignsListener().removeWarp(playerUUID);
    return playerSkull;
  }
  if (signLocation.getBlock().getType().equals(Material.SIGN_POST) || signLocation.getBlock().getType().equals(Material.WALL_SIGN)) {
    Sign sign=(Sign)signLocation.getBlock().getState();
    List<String> lines=new ArrayList<String>(Arrays.asList(sign.getLines()));
    Island island=plugin.getGrid().getIsland(playerUUID);
    if (island != null) {
      if ((signLocation.getWorld().equals(ASkyBlock.getIslandWorld()) && island.getIgsFlag(SettingsFlag.PVP)) || (signLocation.getWorld().equals(ASkyBlock.getNetherWorld()) && island.getIgsFlag(SettingsFlag.NETHER_PVP))) {
        if (DEBUG)         plugin.getLogger().info("String_Node_Str");
        lines.add(ChatColor.RED + plugin.myLocale().igs.get(SettingsFlag.PVP));
      }
    }
    meta.setLore(lines);
    if (DEBUG)     plugin.getLogger().info("String_Node_Str" + lines);
  }
  playerSkull.setItemMeta(meta);
  return playerSkull;
}
Program: 33850
Project: 33850
Buggy source:
@SuppressWarnings("String_Node_Str") @EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=true) public void onInventoryClick(InventoryClickEvent event){
  Inventory inventory=event.getInventory();
  if (inventory.getName() == null) {
    return;
  }
  Player player=(Player)event.getWhoClicked();
  event.setCancelled(true);
  if (!inventory.getTitle().equals(plugin.myLocale(player.getUniqueId()).topTenGuiTitle)) {
    return;
  }
  player.updateInventory();
  if (event.getCurrentItem() != null && event.getCurrentItem().getType().equals(Material.SKULL_ITEM) && event.getCurrentItem().hasItemMeta()) {
    player.performCommand("String_Node_Str" + ((SkullMeta)event.getCurrentItem().getItemMeta()).getOwner());
    player.closeInventory();
    return;
  }
  if (event.getSlotType().equals(SlotType.OUTSIDE)) {
    player.closeInventory();
    return;
  }
  if (event.getClick().equals(ClickType.SHIFT_RIGHT)) {
    player.closeInventory();
    return;
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=true) public void onInventoryClick(InventoryClickEvent event){
  Inventory inventory=event.getInventory();
  if (inventory.getName() == null) {
    return;
  }
  Player player=(Player)event.getWhoClicked();
  if (!inventory.getTitle().equals(plugin.myLocale(player.getUniqueId()).topTenGuiTitle)) {
    return;
  }
  event.setCancelled(true);
  player.updateInventory();
  if (event.getCurrentItem() != null && event.getCurrentItem().getType().equals(Material.SKULL_ITEM) && event.getCurrentItem().hasItemMeta()) {
    player.performCommand("String_Node_Str" + ((SkullMeta)event.getCurrentItem().getItemMeta()).getOwner());
    player.closeInventory();
    return;
  }
  if (event.getSlotType().equals(SlotType.OUTSIDE)) {
    player.closeInventory();
    return;
  }
  if (event.getClick().equals(ClickType.SHIFT_RIGHT)) {
    player.closeInventory();
    return;
  }
}
Program: 33853
Project: 33853
Buggy source:
/** 
 * Does a delayed pasting of the partner island
 * @param schematic
 * @param player
 */
private void pastePartner(final Schematic schematic,final Location loc,final Player player){
  plugin.getServer().getScheduler().runTaskLater(plugin,new Runnable(){
    @Override public void run(){
      schematic.pasteSchematic(loc,player,false,PasteReason.PARTNER);
    }
  }
,60L);
}

Fixed version (ground truth):
/** 
 * Does a delayed pasting of the partner island
 * @param schematic
 * @param player
 */
private void pastePartner(final Schematic schematic,final Location loc,final Player player){
  plugin.getServer().getScheduler().runTaskLater(plugin,new Runnable(){
    @Override public void run(){
      schematic.pasteSchematic(loc,player,false,PasteReason.PARTNER);
      if (schematic.isPlayerSpawn()) {
        plugin.getPlayers().setHomeLocation(player.getUniqueId(),schematic.getPlayerSpawn(loc),-2);
      }
    }
  }
,60L);
}
Program: 33854
Project: 33854
Buggy source:
/** 
 * Adds a player to a team. The player and the teamleader MAY be the same
 * @param playerUUID
 * @param teamLeader
 * @return true if the player is successfully added
 */
public boolean addPlayertoTeam(final UUID playerUUID,final UUID teamLeader){
  if (!plugin.getPlayers().setJoinTeam(playerUUID,teamLeader,plugin.getPlayers().getIslandLocation(teamLeader))) {
    return false;
  }
  if (!playerUUID.equals(teamLeader)) {
    plugin.getPlayers().clearHomeLocations(playerUUID);
    if (plugin.getPlayers().getHomeLocation(teamLeader,1) != null) {
      plugin.getPlayers().setHomeLocation(playerUUID,plugin.getPlayers().getHomeLocation(teamLeader));
    }
 else {
      plugin.getPlayers().setHomeLocation(playerUUID,plugin.getPlayers().getIslandLocation(teamLeader));
    }
    if (!plugin.getPlayers().getMembers(teamLeader).contains(playerUUID)) {
      plugin.getPlayers().addTeamMember(teamLeader,playerUUID);
    }
    if (!plugin.getPlayers().getMembers(teamLeader).contains(teamLeader)) {
      plugin.getPlayers().addTeamMember(teamLeader,teamLeader);
    }
    final Island island=plugin.getGrid().getIsland(teamLeader);
    final IslandJoinEvent event=new IslandJoinEvent(playerUUID,island);
    plugin.getServer().getPluginManager().callEvent(event);
  }
  return true;
}

Fixed version (ground truth):
/** 
 * Adds a player to a team. The player and the teamleader MAY be the same
 * @param playerUUID
 * @param teamLeader
 * @return true if the player is successfully added
 */
public boolean addPlayertoTeam(final UUID playerUUID,final UUID teamLeader){
  if (!plugin.getPlayers().setJoinTeam(playerUUID,teamLeader,plugin.getPlayers().getIslandLocation(teamLeader))) {
    return false;
  }
  if (!playerUUID.equals(teamLeader)) {
    plugin.getPlayers().clearHomeLocations(playerUUID);
    for (    Entry<Integer,Location> homes : plugin.getPlayers().getHomeLocations(teamLeader).entrySet()) {
      if (homes.getKey() < 2) {
        plugin.getPlayers().setHomeLocation(playerUUID,homes.getValue(),homes.getKey());
      }
    }
    if (plugin.getPlayers().getHomeLocation(teamLeader,1) == null) {
      plugin.getPlayers().setHomeLocation(playerUUID,plugin.getPlayers().getIslandLocation(teamLeader));
    }
    if (!plugin.getPlayers().getMembers(teamLeader).contains(playerUUID)) {
      plugin.getPlayers().addTeamMember(teamLeader,playerUUID);
    }
    if (!plugin.getPlayers().getMembers(teamLeader).contains(teamLeader)) {
      plugin.getPlayers().addTeamMember(teamLeader,teamLeader);
    }
    final Island island=plugin.getGrid().getIsland(teamLeader);
    final IslandJoinEvent event=new IslandJoinEvent(playerUUID,island);
    plugin.getServer().getPluginManager().callEvent(event);
  }
  return true;
}
Program: 33864
Project: 33864
Buggy source:
/** 
 * Gives temporary perms Gives flymode if player has a specific permission and is on his island
 * @param e
 */
@EventHandler(priority=EventPriority.NORMAL,ignoreCancelled=true) public void onPlayerEnterOnIsland(IslandEnterEvent e){
  Player player=plugin.getServer().getPlayer(e.getPlayer());
  if (player != null && !player.hasMetadata("String_Node_Str")) {
    if (DEBUG) {
      plugin.getLogger().info("String_Node_Str");
      plugin.getLogger().info("String_Node_Str" + e.getIslandLocation());
      if (e.getIslandOwner() != null) {
        plugin.getLogger().info("String_Node_Str" + plugin.getServer().getPlayer(e.getIslandOwner()).getName());
      }
 else {
        plugin.getLogger().info("String_Node_Str");
      }
    }
    processPerms(player,e.getIsland());
  }
}

Fixed version (ground truth):
/** 
 * Gives temporary perms Gives flymode if player has a specific permission and is on his island
 * @param e
 */
@EventHandler(priority=EventPriority.NORMAL,ignoreCancelled=true) public void onPlayerEnterOnIsland(IslandEnterEvent e){
  Player player=plugin.getServer().getPlayer(e.getPlayer());
  if (player != null && !player.hasMetadata("String_Node_Str")) {
    if (DEBUG) {
      plugin.getLogger().info("String_Node_Str");
      plugin.getLogger().info("String_Node_Str" + e.getIslandLocation());
      if (e.getIslandOwner() != null && plugin.getPlayers().isAKnownPlayer(e.getIslandOwner())) {
        plugin.getLogger().info("String_Node_Str" + plugin.getPlayers().getName(e.getIslandOwner()));
      }
 else {
        plugin.getLogger().info("String_Node_Str");
      }
    }
    processPerms(player,e.getIsland());
  }
}
Program: 33866
Project: 33866
Buggy source:
static ItemStack getSkull(int rank,int levels,UUID player){
}

Fixed version (ground truth):
static ItemStack getSkull(int rank,int levels,UUID player){
  String playerName=plugin.getServer().getOfflinePlayer(player).getName();
  ItemStack playerSkull=new ItemStack(Material.SKULL_ITEM,1,(short)3);
  if (playerName == null)   return null;
  SkullMeta meta=(SkullMeta)playerSkull.getItemMeta();
  meta.setOwner(playerName);
  meta.setDisplayName(ChatColor.YELLOW + "String_Node_Str" + ChatColor.BOLD+ "String_Node_Str"+ ChatColor.YELLOW+ "String_Node_Str"+ ChatColor.GOLD+ ChatColor.UNDERLINE+ plugin.getGrid().getIslandName(player)+ ChatColor.GRAY+ "String_Node_Str"+ rank+ "String_Node_Str");
  List<String> lore=new ArrayList<String>();
  lore.add(ChatColor.GOLD + "String_Node_Str" + ChatColor.BOLD+ "String_Node_Str"+ ChatColor.YELLOW+ plugin.myLocale(player).levelislandLevel+ "String_Node_Str"+ levels);
  if (plugin.getPlayers().inTeam(player)) {
    final List<UUID> pMembers=plugin.getPlayers().getMembers(player);
    List<String> memberList=new ArrayList<>();
    for (    UUID members : pMembers) {
      memberList.add(ChatColor.AQUA + plugin.getPlayers().getName(members));
    }
    lore.addAll(memberList);
  }
  meta.setLore(lore);
  playerSkull.setItemMeta(meta);
  return playerSkull;
}
Program: 33871
Project: 33871
Buggy source:
/** 
 * Checks if an online player is on their island, on a team island or on a coop island
 * @param player
 * @param coop - if true, coop islands are included
 * @return true if on valid island, false if not
 */
public boolean playerIsOnIsland(final Player player,boolean coop){
  return locationIsAtHome(player,coop,player.getLocation());
}

Fixed version (ground truth):
/** 
 * Checks if an online player is in the protected area of their island, a team island or a coop island
 * @param player
 * @param coop - if true, coop islands are included
 * @return true if on valid island, false if not
 */
public boolean playerIsOnIsland(final Player player,boolean coop){
  return locationIsAtHome(player,coop,player.getLocation());
}
Program: 33872
Project: 33872
Buggy source:
/** 
 * Called to create the event
 * @param player
 * @param island
 * @param location
 */
public IslandEnterEvent(UUID player,Island island,Location location){
  super(player,island);
  this.location=location;
}

Fixed version (ground truth):
/** 
 * Called to create the event
 * @param player
 * @param island - island the player is entering
 * @param location - Location of where the player entered the island or tried to enter
 */
public IslandEnterEvent(UUID player,Island island,Location location){
  super(player,island);
  this.location=location;
}
Program: 33873
Project: 33873
Buggy source:
/** 
 * @param player
 * @param island
 * @param location
 */
public IslandExitEvent(UUID player,Island island,Location location){
  super(player,island);
  this.location=location;
}

Fixed version (ground truth):
/** 
 * @param player
 * @param island that the player is leaving
 * @param location - Location of where the player exited the island's protected area
 */
public IslandExitEvent(UUID player,Island island,Location location){
  super(player,island);
  this.location=location;
}