i = ( /asd ${/bugaga/} asd/)
-----
Groovy script
  Assignment expression
    Reference expression
      PsiElement(identifier)('i')
    PsiWhiteSpace(' ')
    PsiElement(=)('=')
    PsiWhiteSpace(' ')
    Parenthesized expression
      PsiElement(()('(')
      PsiWhiteSpace(' ')
      Compound regular expression
        PsiElement(regex begin)('/')
        GrStringContentImpl(GString content element)
          PsiElement(regex content)('asd ')
        GString injection
          PsiElement($)('$')
          Closable block
            PsiElement({)('{')
            Parameter list
              <empty list>
            Literal
              GroovyASTPsiElementImpl(regex literal)
                PsiElement(regex begin)('/')
                PsiElement(regex content)('bugaga')
                PsiElement(regex end)('/')
            PsiElement(})('}')
        GrStringContentImpl(GString content element)
          PsiElement(regex content)(' asd')
        PsiElement(regex end)('/')
      PsiElement())(')')