Tendo um Multimap classificado em chaves apenas em Java

Gostaria de ter umc.g.c.c.Multimap que é classificado com base apenas em chaves. Os valores não devem ser classificados. Eu tentei criar algo com @ goiaTreeMultimap, mas não posso usá-lo porque o tipo de valor não implementaComparable.

public class MyObject /* doesn't implement Comparable */ {
  private String name;
  private int score;
  // Getters/setters are implemented
  public static Function<MyObject,Integer> myObjectToScore {
    @Override public Integer apply (MyObject o) { return o.score; }
  }
  public static Multimap<Integer,MyObject> indexOnScore(Iterable<MyObject> i) {
    Multimap<Integer,MyObject> m = Multimaps.index(i, myObjectToScore());
    // Do the sort of the keys.
    return m;
  }
}

Eu pensei em conseguir umSortedSet das chaves, iterando sobre cada uma dessas chaves no conjunto classificado para buscar os vários valores, mas eu esperava usar um recurso existente (ainda não descoberto) no Guava em vez de usar esse tipo de hack.

Nota: eu não vou fazerMyObject implementoComparable porque não faz sentido com o meu objeto rea

Exemplo de entrada / saída:

Set<MyObject> s = Sets.newHashSet(
  new MyObject("a", 2),
  new MyObject("b", 3),
  new MyObject("c", 1),
  new MyObject("d", 3),
  new MyObject("e", 1)
); // Assuming constructor MyObject(String name, int score)

for (Map.Entry<Integer, MyObject> e: MyObject.indexedOnScore(s).entries()) {
  System.out.printf("%d -> %s%n", e.getKey(), e.getValue().getName());
}

Prints:

1 -> c // or switched with line below
1 -> e
2 -> a
3 -> b // or switched with line below
3 -> d

questionAnswers(8)

yourAnswerToTheQuestion