def foo = {it -> break ; 3}
-----
Groovy script
  Variable definitions
    Modifiers
      PsiElement(def)('def')
    PsiWhiteSpace(' ')
    Variable
      PsiElement(identifier)('foo')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      Closable block
        PsiElement({)('{')
        Parameter list
          Parameter
            Modifiers
              <empty list>
            PsiElement(identifier)('it')
        PsiWhiteSpace(' ')
        PsiElement(->)('->')
        PsiWhiteSpace(' ')
        BREAK statement
          PsiElement(break)('break')
        PsiWhiteSpace(' ')
        PsiElement(;)(';')
        PsiWhiteSpace(' ')
        Literal
          PsiElement(Integer)('3')
        PsiElement(})('}')