private <T> Pair<String, Map<String, T>> formatAnsiChoiceMessage(String message, Iterable<T> choices, Function<T, String> choiceDisplay) throws PrompterException
{
ANSIBuffer query = new ANSIBuffer();
query.bold(message + ":\n");
List<String> answers = new ArrayList<>();
Map<String, T> answerValueMap = new HashMap<>();
int counter = 1;
for (T choice : choices)
{
String answer = String.valueOf(counter);
query.bold(answer);
if (counter < 10)
{
query.append(": ");
}
else
{
query.append(": ");
}
query.append(choiceDisplay.apply(choice)).append("\n");
answers.add(answer);
answerValueMap.put(answer, choice);
counter++;
}
return Pair.of(query.toString(), answerValueMap);
}