El algoritmo más simple para la evaluación de manos de póker.

Estoy pensando en la evaluación de la mano de poker (5 cartas) enJava. Ahora busco simplicidad y claridad en lugar de rendimiento y eficiencia. Probablemente pueda escribir un algoritmo "ingenuo" pero requiere mucho código.

También vi algunas bibliotecas de evaluación de póker, que utilizan operaciones de hash y bitwise, pero parecen bastante complejas.

¿Cuál es el algoritmo "más limpio y simple" para la evaluación de manos de póker?