SHELL_SCRIPT
  COMMANDS_LIST
    IF_COMMAND
      PsiElement(if)('if')
      PsiWhiteSpace(' ')
      COMPOUND_LIST
        SIMPLE_COMMAND
          GENERIC_COMMAND_DIRECTIVE
            LITERAL
              PsiElement(word)('a')
          PsiWhiteSpace(' ')
          LITERAL
            PsiElement(word)('then')
          PsiWhiteSpace(' ')
          LITERAL
            PsiElement(word)('b')
        PsiElement(;)(';')
      PsiErrorElement:then expected, got 'fi'
        <empty list>
      PsiWhiteSpace(' ')
      PsiElement(fi)('fi')
  PsiElement(\n)('\n')
  COMMANDS_LIST
    SIMPLE_COMMAND
      GENERIC_COMMAND_DIRECTIVE
        LITERAL
          PsiElement(word)('echo')
      PsiWhiteSpace(' ')
      STRING
        PsiElement(OPEN_QUOTE)('"')
        PsiElement(STRING_CONTENT)('abc')
        PsiElement(CLOSE_QUOTE)('"')