Ordenamiento inverso: orden lexicográfico y longitud

Escribe una función que ordene las palabras de una cadena dada lexicográficamente (orden lexicográfico) y por longitud en orden inverso.

Ejemplos

reverseSort("You've rocked the pragmatic world in the making!") 
 ➞ "pragmatic making! You've rocked world the the in"

reverseSort("Tesh makes my world worth enjoying and living for.")
 ➞ "enjoying living worth world makes Tesh for. and my"

reverseSort("Shaken by the bloody truth and crazy lies.")
 ➞ "Shaken bloody truth lies. crazy the and by"

reverseSort("Java streams and collections are fun to program with!")
 ➞ "collections streams program with! Java fun are and to"

Notas

  • Los caracteres especiales, los signos de puntuación y los símbolos forman parte de la palabra que los precede directamente.
  • El carácter de espacio separa cada palabra de la cadena dada.
  • Se requiere ordenar sin distinguir entre mayúsculas y minúsculas.