import a.b.
c.d
-----
Groovy script
  Import statement
    Modifiers
      <empty list>
    PsiElement(import)('import')
    PsiWhiteSpace(' ')
    Reference element
      Reference element
        Reference element
          Reference element
            PsiElement(identifier)('a')
          PsiElement(.)('.')
          PsiElement(identifier)('b')
        PsiElement(.)('.')
        PsiElement(new line)('\n')
        PsiElement(identifier)('c')
      PsiElement(.)('.')
      PsiElement(identifier)('d')