answers.setInstruments(instruments);
// fill the metre distractors
List<Metre> metres = new ArrayList<>(ANSWERS_PER_QUESTION);
metres.add(new Metre(piece.getMetreNumerator(), piece.getMetreDenominator()));
while (metres.size() < ANSWERS_PER_QUESTION) {
int[] metre = MetreConfigurer.getRandomMetre(random);
// disallow metres that have the same ratios as the correct answer
Metre newMetre = new Metre(metre[0], metre[1]);
if (!metres.contains(newMetre) && isNotDerivedMetre(piece, metre)) {
metres.add(newMetre);
}
}
Collections.shuffle(metres, random);