Buggy code:
public class GridManager { private ASkyBlock plugin ; private TreeMap < Integer , TreeMap < Integer , Island > > islandGrid = new TreeMap < Integer , TreeMap < Integer , Island > > ( ) ; private HashMap < UUID , Island > ownershipMap = new HashMap < UUID , Island > ( ) ; private File islandFile ; private Island spawn ; public GridManager ( ASkyBlock plugin ) { } private void loadGrid ( ) { } private boolean onGrid ( Location loc ) { } private boolean onGrid ( int x , int z ) { } private void convert ( ) { } public void saveGrid ( ) { final File islandFile = new File ( plugin . getDataFolder ( ) , "islands.yml" ) ; YamlConfiguration islandYaml = new YamlConfiguration ( ) ; List < String > islandList = new ArrayList < String > ( ) ; for ( int x : islandGrid . keySet ( ) ) { for ( int z : islandGrid . get ( x ) . keySet ( ) ) { Island island = islandGrid . get ( x ) . get ( z ) ; <START_BUG> islandList . add ( island . serialize ( ) ) ; <END_BUG> } } islandYaml . set ( worldName , islandList ) ; try { islandYaml . save ( islandFile ) ; } catch ( Exception e ) { plugin . getLogger ( ) . severe ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>save<seq2seq4repair_space>islands.yml!" ) ; e . printStackTrace ( ) ; } } public Island getIslandAt ( Location location ) { } public Island getIslandAt ( int x , int z ) { } public Island getProtectedIslandAt ( Location location ) { } public UUID getOwnerOfIslandAt ( Location location ) { } public Island addIsland ( int x , int z ) { } public Island addIsland ( int x , int z , UUID owner ) { } public Island addIsland ( String islandSerialized ) { } private void addToGrids ( Island newIsland ) { } public void deleteIsland ( Location loc ) { } public Island getIsland ( UUID owner ) { } public void setIslandOwner ( Island island , UUID newOwner ) { } public HashMap < UUID , Island > getOwnershipMap ( ) { } public Island getSpawn ( ) { } public void setSpawn ( Island spawn ) { } public void deleteSpawn ( ) { } public boolean isAtSpawn ( Location playerLoc ) { } public boolean islandAtLocation ( final Location loc ) { } public Location getClosestIsland ( Location location ) { } public static boolean isSafeLocation ( final Location l ) { } public Location getSafeHomeLocation ( final UUID p , int number ) { } public Location bigScan ( Location l , int i ) { } public boolean homeTeleport ( final Player player ) { } public boolean homeTeleport ( final Player player , int number ) { } public void homeSet ( Player player , int number ) { } public void homeSet ( final Player player ) { } public boolean locationIsOnIsland ( final Player player , final Location loc ) { } public Location locationIsOnIsland ( final Set < Location > islandTestLocations , final Location loc ) { } public boolean playerIsOnIsland ( final Player player ) { } public boolean playerIsOnIsland ( final Player player , boolean coop ) { } public boolean locationIsAtHome ( final Player player , boolean coop , Location loc ) { } private Location netherIsland ( Location islandLocation ) { } public boolean isOnIsland ( final Player owner , final Player target ) { } public boolean transferIsland ( final UUID oldOwner , final UUID newOwner ) { } public void removeMobs ( final Location l ) { } public void removePlayersFromIsland ( final Island island , UUID uuid ) { } public HashMap < String , Island > getUnownedIslands ( ) { } public void setSpawnPoint ( Location location ) { } public Location getSpawnPoint ( ) { } public int getIslandCount ( ) { } No newline ; at end ; of file ; }

Fix:
islandList . add ( island . save ( ) ) ;