Groovy Split CSV

Eu tenho um arquivo csv (details.csv) como

ID,NAME,ADDRESS
1,"{foo,bar}","{123,mainst,ny}"
2,"{abc,def}","{124,mainst,Va}"
3,"{pqr,xyz}","{125,mainst,IL}"

quando eu uso (Nota: eu tenho outro encerramento acima deste que lê todos os arquivos csv do diretório)

if(file.getName().equalsIgnoreCase("deatails.csv")) {
 input = new FileInputStream(file)
 reader = new BufferedReader(new InputStreamReader(input))
 reader.eachLine{line-> def cols = line.split(",")
 println cols.size() }

Em vez de obter o tamanho 3, recebo 6 com valores

1
"{foo
bar}"
"{123
mainst
ny}"

spilled (",") está dividindo dados por vírgula (,) mas eu quero meus resultados como

1
"{foo,bar}"
"{123,mainst,ny}"

Como posso consertar esse fechamento? Por favor ajude! obrigado

questionAnswers(2)

yourAnswerToTheQuestion