Cita: Hola el código es muy bueno, pero claramente el SortedMap tal como está definido al igual que el Map no permiten claves repetidas, para mí eso es un problema.
Lo que quieres es incompatible con un Map, no puedes usar un objeto pensado para buscar objetos por clave única pretendiendo que existan claves repetidas.
Lo que deberías hacer es crear un objeto que contenga todos los datos e implementar el compareTo o crear un Comparator, para ordedar la lista mediante Collections.