private boolean displayPlayAgain(String message, boolean win) {
        int reply = JOptionPane.showConfirmDialog(null, message, message,
                                                  JOptionPane.YES_NO_OPTION);
        if (reply == JOptionPane.YES_OPTION) {
            resetTimer();
            Player playerOne;
            Player playerTwo;
            
            if (m_playerOneType.equals("Computer: Easy")) {
                playerOne = new ConnectFourEasyComputerPlayer(
                                getGame()
                                    .getPlayerName(
                                        Game.PLAYER_ONE),
                                getPlayerOnePieceColour());
            } else if (m_playerOneType.equals("Computer: Hard")) {
                playerOne = new ConnectFourHardComputerPlayer(
                                getGame()
                                    .getPlayerName(
                                        Game.PLAYER_ONE),
                                getPlayerOnePieceColour());
            } else {
                playerOne = new HumanPlayer(
                                getGame()
                                    .getPlayerName(
                                        Game.PLAYER_ONE),
                                getPlayerOnePieceColour());
            }
            
            if (m_playerTwoType.equals("Computer: Easy")) {
                playerTwo = new ConnectFourEasyComputerPlayer(
                                getGame()
                                    .getPlayerName(
                                        Game.PLAYER_TWO),
                                getPlayerTwoPieceColour());
            } else if (m_playerTwoType.equals("Computer: Hard")) {
                playerTwo = new ConnectFourHardComputerPlayer(
                                getGame()
                                    .getPlayerName(
                                        Game.PLAYER_TWO),
                                getPlayerTwoPieceColour());
            } else {
                playerTwo = new HumanPlayer(
                                getGame()
                                    .getPlayerName(
                                        Game.PLAYER_TWO),
                                getPlayerTwoPieceColour());
            }
            
            ConnectFourGame newGame = new ConnectFourGame(
                                          playerOne, playerTwo);
            
            setGame(newGame);
            
            if(win && (getGame().getPlayerTurn() % TOTAL_PLAYERS
                       == PLAYER_ONE)) {
                newGame.incrementTurn();
            }
            
            m_panel.updatePieces(getGame().getPieces());
            m_panel.setCurrentPiece(new ConnectFourPiece(
                                      getPlayerOnePieceColour()));
            m_panel.refreshDisplay();
        }
        return reply == JOptionPane.YES_OPTION;
    }