FILE(0,108)
  JqlQuery(a1 < 42 or a2 <= 42 and b1 > 42 or b2 >= 42 and c1 ~ "ham" or c1 !~ 'spam' and d1 = 'green' or d2 != "green")(0,108)
    JqlOrClause(a1 < 42 or a2 <= 42 and b1 > 42 or b2 >= 42 and c1 ~ "ham" or c1 !~ 'spam' and d1 = 'green' or d2 != "green")(0,108)
      JqlOrClause(a1 < 42 or a2 <= 42 and b1 > 42 or b2 >= 42 and c1 ~ "ham" or c1 !~ 'spam' and d1 = 'green')(0,91)
        JqlOrClause(a1 < 42 or a2 <= 42 and b1 > 42 or b2 >= 42 and c1 ~ "ham")(0,58)
          JqlOrClause(a1 < 42 or a2 <= 42 and b1 > 42)(0,31)
            JqlSimpleClause(a1 < 42)(0,7)
              JqlIdentifier(a1)(0,2)
                PsiElement(JQL: STRING_LITERAL)('a1')(0,2)
              PsiWhiteSpace(' ')(2,3)
              PsiElement(JQL: LT)('<')(3,4)
              PsiWhiteSpace(' ')(4,5)
              JqlLiteral(42)(5,7)
                PsiElement(JQL: NUMBER_LITERAL)('42')(5,7)
            PsiWhiteSpace(' ')(7,8)
            PsiElement(JQL: OR_KEYWORD)('or')(8,10)
            PsiWhiteSpace(' ')(10,11)
            JqlAndClause(a2 <= 42 and b1 > 42)(11,31)
              JqlSimpleClause(a2 <= 42)(11,19)
                JqlIdentifier(a2)(11,13)
                  PsiElement(JQL: STRING_LITERAL)('a2')(11,13)
                PsiWhiteSpace(' ')(13,14)
                PsiElement(JQL: LE)('<=')(14,16)
                PsiWhiteSpace(' ')(16,17)
                JqlLiteral(42)(17,19)
                  PsiElement(JQL: NUMBER_LITERAL)('42')(17,19)
              PsiWhiteSpace(' ')(19,20)
              PsiElement(JQL: AND_KEYWORD)('and')(20,23)
              PsiWhiteSpace(' ')(23,24)
              JqlSimpleClause(b1 > 42)(24,31)
                JqlIdentifier(b1)(24,26)
                  PsiElement(JQL: STRING_LITERAL)('b1')(24,26)
                PsiWhiteSpace(' ')(26,27)
                PsiElement(JQL: GT)('>')(27,28)
                PsiWhiteSpace(' ')(28,29)
                JqlLiteral(42)(29,31)
                  PsiElement(JQL: NUMBER_LITERAL)('42')(29,31)
          PsiWhiteSpace(' ')(31,32)
          PsiElement(JQL: OR_KEYWORD)('or')(32,34)
          PsiWhiteSpace(' ')(34,35)
          JqlAndClause(b2 >= 42 and c1 ~ "ham")(35,58)
            JqlSimpleClause(b2 >= 42)(35,43)
              JqlIdentifier(b2)(35,37)
                PsiElement(JQL: STRING_LITERAL)('b2')(35,37)
              PsiWhiteSpace(' ')(37,38)
              PsiElement(JQL: GE)('>=')(38,40)
              PsiWhiteSpace(' ')(40,41)
              JqlLiteral(42)(41,43)
                PsiElement(JQL: NUMBER_LITERAL)('42')(41,43)
            PsiWhiteSpace(' ')(43,44)
            PsiElement(JQL: AND_KEYWORD)('and')(44,47)
            PsiWhiteSpace(' ')(47,48)
            JqlSimpleClause(c1 ~ "ham")(48,58)
              JqlIdentifier(c1)(48,50)
                PsiElement(JQL: STRING_LITERAL)('c1')(48,50)
              PsiWhiteSpace(' ')(50,51)
              PsiElement(JQL: CONTAINS)('~')(51,52)
              PsiWhiteSpace(' ')(52,53)
              JqlLiteral("ham")(53,58)
                PsiElement(JQL: STRING_LITERAL)('"ham"')(53,58)
        PsiWhiteSpace(' ')(58,59)
        PsiElement(JQL: OR_KEYWORD)('or')(59,61)
        PsiWhiteSpace(' ')(61,62)
        JqlAndClause(c1 !~ 'spam' and d1 = 'green')(62,91)
          JqlSimpleClause(c1 !~ 'spam')(62,74)
            JqlIdentifier(c1)(62,64)
              PsiElement(JQL: STRING_LITERAL)('c1')(62,64)
            PsiWhiteSpace(' ')(64,65)
            PsiElement(JQL: NOT_CONTAINS)('!~')(65,67)
            PsiWhiteSpace(' ')(67,68)
            JqlLiteral('spam')(68,74)
              PsiElement(JQL: STRING_LITERAL)(''spam'')(68,74)
          PsiWhiteSpace(' ')(74,75)
          PsiElement(JQL: AND_KEYWORD)('and')(75,78)
          PsiWhiteSpace(' ')(78,79)
          JqlSimpleClause(d1 = 'green')(79,91)
            JqlIdentifier(d1)(79,81)
              PsiElement(JQL: STRING_LITERAL)('d1')(79,81)
            PsiWhiteSpace(' ')(81,82)
            PsiElement(JQL: EQ)('=')(82,83)
            PsiWhiteSpace(' ')(83,84)
            JqlLiteral('green')(84,91)
              PsiElement(JQL: STRING_LITERAL)(''green'')(84,91)
      PsiWhiteSpace(' ')(91,92)
      PsiElement(JQL: OR_KEYWORD)('or')(92,94)
      PsiWhiteSpace(' ')(94,95)
      JqlSimpleClause(d2 != "green")(95,108)
        JqlIdentifier(d2)(95,97)
          PsiElement(JQL: STRING_LITERAL)('d2')(95,97)
        PsiWhiteSpace(' ')(97,98)
        PsiElement(JQL: NE)('!=')(98,100)
        PsiWhiteSpace(' ')(100,101)
        JqlLiteral("green")(101,108)
          PsiElement(JQL: STRING_LITERAL)('"green"')(101,108)