Buggy code:
@ Singleton public class EventListener implements com . andune . minecraft . commonlib . server . api . event . EventListener { private final Logger log = LoggerFactory . getLogger ( EventListener . class ) ; private final Storage storage ; private final StrategyEngine engine ; private final ConfigCore config ; private final Factory factory ; private final MultiverseCore multiverseCore ; private final MultiversePortals multiversePortals ; private final SpawnUtil spawnUtil ; private final BedUtils bedUtil ; private final WarmupManager warmupManager ; private final EffectsManager effectsManager ; private final CooldownManager cooldownManager ; private final DeathManager deathManager ; private Player lastRespawnPlayer ; private Location lastRespawnLocation ; @ Inject public EventListener ( ConfigCore config , Storage storage , StrategyEngine engine , Factory factory , MultiverseCore multiverseCore , MultiversePortals multiversePortals , SpawnUtil spawnUtil , BedUtils bedUtil , WarmupManager warmupManager , EffectsManager effectsManager , CooldownManager cooldownManager , DeathManager deathManager ) { } @ Override public void playerJoin ( PlayerJoinEvent event ) { final Player p = event . getPlayer ( ) ; final boolean isNewPlayer = p . isNewPlayer ( ) ; if ( isNewPlayer ) { if ( config . isVerboseLogging ( ) ) log . info ( "New<seq2seq4repair_space>player<seq2seq4repair_space>{}<seq2seq4repair_space>detected." , p . getName ( ) ) ; } com . andune . minecraft . hsp . entity . Player storagePlayer = storage . getPlayerDAO ( ) . findPlayerByUUID ( p . getUUID ( ) ) ; if ( storagePlayer == null ) { storagePlayer = storage . getPlayerDAO ( ) . findPlayerByName ( p . getName ( ) ) ; } if ( storagePlayer == null ) { storagePlayer = new com . andune . minecraft . hsp . entity . Player ( p ) ; try { storage . getPlayerDAO ( ) . savePlayer ( storagePlayer ) ; } catch ( StorageException e ) { log . warn ( "Caught<seq2seq4repair_space>exception<seq2seq4repair_space>writing<seq2seq4repair_space>to<seq2seq4repair_space>storage<seq2seq4repair_space>" , e ) ; } } else if ( ( ( storagePlayer . getUUIDString ( ) ) == null ) || ( ! ( storagePlayer . getUUIDString ( ) . equals ( p . getUUID ( ) ) ) ) ) { storagePlayer . setUUIDString ( p . getUUID ( ) . toString ( ) ) ; try { storage . getPlayerDAO ( ) . savePlayer ( storagePlayer ) ; } catch ( StorageException e ) { log . warn ( "Caught<seq2seq4repair_space>exception<seq2seq4repair_space>writing<seq2seq4repair_space>to<seq2seq4repair_space>storage<seq2seq4repair_space>" , e ) ; } } if ( config . isVerboseLogging ( ) ) log . info ( "Attempting<seq2seq4repair_space>to<seq2seq4repair_space>respawn<seq2seq4repair_space>player<seq2seq4repair_space>{}<seq2seq4repair_space>(joining)." , p . getName ( ) ) ; StrategyResult result = null ; if ( isNewPlayer ) result = engine . getStrategyResult ( NEW_PLAYER , p ) ; <START_BUG> if ( ( result == null ) || ( ! ( result . isExplicitDefault ( ) ) ) ) <END_BUG> result = engine . getStrategyResult ( ON_JOIN , p ) ; Location joinLocation = null ; if ( result != null ) joinLocation = result . getLocation ( ) ; if ( joinLocation != null ) event . setJoinLocation ( joinLocation ) ; } @ Override public void playerRespawn ( PlayerRespawnEvent event ) { } @ Override public void playerTeleport ( PlayerTeleportEvent event ) { } @ Override public void observePlayerTeleport ( PlayerTeleportEvent event ) { } @ Override public void observeRespawn ( PlayerRespawnEvent event ) { } @ Override public void bedRightClick ( PlayerBedRightClickEvent event ) { } @ Override public void bedEvent ( PlayerBedEnterEvent event ) { } @ Override public void playerQuit ( PlayerQuitEvent event ) { } @ Override public void playerKick ( PlayerKickEvent event ) { } @ Override public void playerDamage ( PlayerDamageEvent event ) { } @ Override public void playerDeath ( PlayerDeathEvent event ) { } }

Fix:
if ( ( ( result == null ) || ( result . isExplicitDefault ( ) ) ) || ( ( result . getLocation ( ) ) == null ) )