Buggy code:
public class MapController implements Initializable { private ConfigRepository configRepository = ConfigRepository . getInstance ( ) ; private static int numPlayers ; private static int freeTurn = 0 ; private static int currentPlayer = 1 ; private int freeLand = 0 ; private int passNumber ; private boolean [ ] [ ] mapSpots ; private Timer timer ; public static boolean buy = false ; @ FXML private Label playerLabel ; @ FXML private GridPane map ; @ FXML private Button pass ; @ Override public void initialize ( URL location , ResourceBundle resources ) { } public void tileChosen ( MouseEvent event ) { if ( MapController . buy ) { if ( ( freeLand ) < ( ( MapController . numPlayers ) * 2 ) ) { ImageView tile = ( ( ImageView ) ( event . getSource ( ) ) ) ; System . out . println ( ( ( ( ( ( "Player<seq2seq4repair_space>" + ( MapController . currentPlayer ) ) + ":<seq2seq4repair_space>" ) + ( map . getRowIndex ( tile ) ) ) + ",<seq2seq4repair_space>" ) + ( map . getColumnIndex ( tile ) ) ) ) ; if ( setColorTile ( configRepository . getPlayerConfig ( ( ( ( MapController . currentPlayer ) - 1 ) % ( MapController . numPlayers ) ) ) . getColor ( ) , map . getRowIndex ( tile ) , map . getColumnIndex ( tile ) ) ) { ( freeLand ) ++ ; } MapController . currentPlayer = ( ( ( MapController . currentPlayer ) + 1 ) == ( MapController . numPlayers ) ) ? MapController . numPlayers : ( ( MapController . currentPlayer ) + 1 ) % ( MapController . numPlayers ) ; playerLabel . setText ( String . format ( "Player<seq2seq4repair_space>%d:<seq2seq4repair_space>%s" , MapController . currentPlayer , configRepository . getPlayerConfig ( ( ( MapController . currentPlayer ) - 1 ) ) . getName ( ) ) ) ; passNumber = 0 ; } else { <START_BUG> if ( ( configRepository . getPlayerConfig ( MapController . currentPlayer ) . getMoney ( ) ) >= 300 ) { <END_BUG> ImageView tile = ( ( ImageView ) ( event . getSource ( ) ) ) ; if ( setColorTile ( configRepository . getPlayerConfig ( ( ( ( MapController . currentPlayer ) - 1 ) % ( MapController . numPlayers ) ) ) . getColor ( ) , map . getRowIndex ( tile ) , map . getColumnIndex ( tile ) ) ) { configRepository . getPlayerConfig ( MapController . currentPlayer ) . payMoney ( 300 ) ; } int current = configRepository . getPlayerConfig ( MapController . currentPlayer ) . getMoney ( ) ; System . out . println ( ( ( "You<seq2seq4repair_space>now<seq2seq4repair_space>have<seq2seq4repair_space>" + current ) + "<seq2seq4repair_space>money." ) ) ; } else { System . out . println ( ( ( "You<seq2seq4repair_space>cannot<seq2seq4repair_space>buy!<seq2seq4repair_space>You<seq2seq4repair_space>only<seq2seq4repair_space>have<seq2seq4repair_space>" + ( configRepository . getPlayerConfig ( MapController . currentPlayer ) . getMoney ( ) ) ) + "<seq2seq4repair_space>dollars!" ) ) ; } passNumber = 0 ; } } } public void goToTown ( ) { } public void updatePlayer ( ) { } public void setNumPlayers ( int num ) { } private boolean setColorTile ( String color , int row , int column ) { } private ImageView getImageView ( String color ) { } }

Fix:
if ( ( configRepository . getPlayerConfig ( ( ( MapController . currentPlayer ) - 1 ) ) . getMoney ( ) ) >= 300 ) {