class HarmonicKeyUtils {

    public static List<String> findCompatibleKeys(List<HiveChord> hiveChords) {

        List<String> compatibleKeys = new ArrayList<>();

        for (Map.Entry<String, List<HiveChord>> chordList : KEYS.entrySet()) {
            boolean allMatch = true;
            for (HiveChord chordInList : hiveChords) {
                if (!isChordInKey(chordInList, chordList.getValue())) {
                    allMatch = false;
                }
            }

            if (allMatch) {
                compatibleKeys.add(chordList.getKey());
            }
        }

        return compatibleKeys;
    }

}