Melhor maneira de codificar isso, string para mapear a conversão no Groovy

Eu tenho uma string como

def data = "session=234567893egshdjchasd&userId=12345673456&timeOut=1800000"

Quero convertê-lo em um mapa

 ["session", 234567893egshdjchasd]
 ["userId", 12345673456]
 ["timeout", 1800000]

Esta é a maneira atual que eu estou fazendo isso,

 def map = [:]

 data.splitEachLine("&"){

   it.each{ x ->

     def object = x.split("=")
     map.put(object[0], object[1])

   }

 }

Funciona, mas existe uma maneira mais eficiente?

questionAnswers(8)

yourAnswerToTheQuestion