private static Player askSelectExistingPlayer(List<Player> selectedPlayers) {
        System.out.println("Please select one of the existing players:");
        List<Integer> selectedPlayerNumbers = new ArrayList<>();
        for (Map.Entry<Integer, Player> entry : players.entrySet()) {
            if (!selectedPlayers.contains(entry.getValue())) {
                System.out.println("("+entry.getKey()+") "+entry.getValue().getName());
            } else {
                selectedPlayerNumbers.add(entry.getKey());
                System.out.println("(selected) "+entry.getValue().getName());
            }
        }
        int choice = 0;
        do {
            System.out.print("Please enter your choice: ");
            String input = scanner.nextLine();

            try {
                choice = Integer.parseInt(input);
                if (choice <= 0 || choice > players.size() || selectedPlayerNumbers.contains(choice)) {
                    throw new NumberFormatException();
                }
            } catch (NumberFormatException nfe) {
                System.err.println(INCORRECT_NUMBER);
            }
        } while (choice <= 0 || choice > players.size() || selectedPlayerNumbers.contains(choice));

        return players.get(choice);
    }