PsiJavaFile:RecordWithComponents.java
  PsiImportList
    <empty list>
  PsiClass:ClassName
    PsiModifierList:
      <empty list>
    PsiKeyword:record('record')
    PsiWhiteSpace(' ')
    PsiIdentifier:ClassName('ClassName')
    PsiTypeParameterList
      <empty list>
    PsiRecordHeader
      PsiJavaToken:LPARENTH('(')
      PsiRecordComponent:x
        PsiModifierList:
          <empty list>
        PsiTypeElement:int
          PsiKeyword:int('int')
        PsiWhiteSpace(' ')
        PsiIdentifier:x('x')
      PsiJavaToken:COMMA(',')
      PsiWhiteSpace(' ')
      PsiRecordComponent:y
        PsiModifierList:
          <empty list>
        PsiTypeElement:Foo.Bar
          PsiJavaCodeReferenceElement:Foo.Bar
            PsiJavaCodeReferenceElement:Foo
              PsiIdentifier:Foo('Foo')
              PsiReferenceParameterList
                <empty list>
            PsiJavaToken:DOT('.')
            PsiIdentifier:Bar('Bar')
            PsiReferenceParameterList
              <empty list>
        PsiWhiteSpace(' ')
        PsiIdentifier:y('y')
      PsiJavaToken:RPARENTH(')')
    PsiReferenceList
      <empty list>
    PsiReferenceList
      <empty list>
    PsiJavaToken:LBRACE('{')
    PsiWhiteSpace('\n')
    PsiJavaToken:RBRACE('}')