private static Player askToSelectPlayer(List<Player> selectedPlayers) {
        if (players.isEmpty() || !canExistingPlayersBeSelected(selectedPlayers)) {
            return askAddNewPlayer();
        } else {
            System.out.println("Do you want to: (1) add a new player or (2) select from previously added players?");
            int choice = 0;
            do {
                System.out.print("Please enter your choice: ");
                String input = scanner.nextLine();

                try {
                    choice = Integer.parseInt(input);
                    if (choice < 1 || choice > 2) {
                        throw new NumberFormatException();
                    }
                } catch (NumberFormatException nfe) {
                    System.err.println(INCORRECT_NUMBER);
                }

            } while (choice < 1 || choice > 2);

            switch (choice) {
                case 2:
                    return askSelectExistingPlayer(selectedPlayers);
                case 1:
                default:
                    return askAddNewPlayer();
            }
        }
    }