Calcule la diferencia en meses entre dos fechas con Groovy

Necesito calcular la diferencia en meses entre dos fechas.

start = new Date(112, 4, 30) // Wed May 30 00:00:00 CEST 2012
end = new Date(111, 9, 11)   // Tue Oct 11 00:00:00 CEST 2011

assert 8 == monthsBetween(start, end)

UtilizandoTiempo de joda Es muy fácil lograr esto con algo como esto:

months = Months.monthsBetween(start, end).getMonths()

¿Cómo puedo lograr esto de una manera maravillosa, sin usar otras bibliotecas?