JsonPathFile
  JsonPathRootSegmentImpl(ROOT_SEGMENT)
    PsiElement($)('$')
  PsiElement(..)('..')
  JsonPathIdSegmentImpl(ID_SEGMENT)
    JsonPathIdImpl(ID)
      PsiElement(IDENTIFIER)('book')
  JsonPathExpressionSegmentImpl(EXPRESSION_SEGMENT)
    PsiElement([)('[')
    JsonPathIndexExpressionImpl(INDEX_EXPRESSION)
      PsiElement(()('(')
      JsonPathMinusExpressionImpl(MINUS_EXPRESSION)
        JsonPathPathExpressionImpl(PATH_EXPRESSION)
          JsonPathEvalSegmentImpl(EVAL_SEGMENT)
            PsiElement(@)('@')
          PsiElement(.)('.')
          JsonPathIdSegmentImpl(ID_SEGMENT)
            JsonPathIdImpl(ID)
              PsiElement(IDENTIFIER)('length')
        PsiWhiteSpace(' ')
        PsiElement(MINUS_OP)('-')
        PsiWhiteSpace(' ')
        JsonPathNumberLiteralImpl(NUMBER_LITERAL)
          PsiElement(INTEGER_NUMBER)('1')
      PsiElement())(')')
    PsiElement(])(']')