Groovy: Obtenha duração em anos

Na execução do código a seguir no groovy -

import groovy.time.*
import org.codehaus.groovy.runtime.TimeCategory
def today = new Date()
use(TimeCategory)
{
  def modifiedToday = today.plus(10.minutes)
  modifiedToday = modifiedToday.plus(10.months)
  modifiedToday = modifiedToday.plus(10.years)
  def duration = modifiedToday - today
  println duration.years
  println duration.months
  println duration.days
  println duration.minutes
}

Eu estou recebendo a seguinte saída -

0
0
3956
10

Por favor, sugira, por que estou recebendo anos e meses como 0 e todo o valor em dias. Como obtenho o valor em anos e meses?

questionAnswers(1)

yourAnswerToTheQuestion